Folder structure and the LIFT principle

The base folder structure of the project is simple, easy to understand, and great for smaller applications:

. e2e/ 
. src/ 
.. app/ 
.. assets/ 
.. environments 

As you can guess, the bulk of the application code will go into the app folder. Within this folder, we will create modules for the different functional parts and features of our application. Within each of those modules, we'll organize elements by type (for example, components, entities, services, and more). This will help us to better structure our code.

The Angular structure is based on the LIFT principle described in the official style guide: https://angular.io/guide/styleguide#lift.

LIFT stands for the following:

Keep in mind that the main goal of the file and folder structure in any software project is to make it easy to find your way around it and to make navigation easy. So, don't make it too complex unless you really need to.

The good news is that Angular is rather flexible and doesn't enforce its own structure for all applications. Larger ones will go further and create different libraries and projects, but this will do for MediaMan.