More specifically, in the application folder structure, we kept the client-side and server-side code separate with further subdivisions within these two sections. This gave us some freedom to design and build the frontend and backend of the application independently:
| mern_application/ | -- client/ | -- server/
In the client and server sections, we divided the code further into subfolders that mapped to unique functionalities, such as models, controllers, and routes in the server to a specific feature, such as grouping all components related to a user on the client side.