The default folder structure of Magpie is designed to be compatible with both large and small web applications. Being said that, it also follows the directory structure of Angular 6 and NodeJs.
Lets look into some of the key folders
# config
Configurations like database connection are defined inside this folder. By default the framework provides a DB.js file to configure mongodb credentials
# nodex
This folder contains all the NodeJs related files and functions for the application. Files will be organised in corresponding folders:
# admin
This is where all admin related route logics are defined.
# api
API calls for mobile devices are stored in this folder.
# models
Mongodb related logics for any of the created sections are defined here.
# site
Site folder holds all front-end related route logics for the application.
# src
This is the Angular 6 default folder which holds all the angular related logics. Components are categorised under admin and site folders
# components/admin
If you want to extend any functionalities on admin side any of the sections created, you can create a new component and add custom logics here.
# components/site
Similarly, if you need any additional functionality on user side in any of the sections created, you can create a new component and add custom logics here.
# app/assets
This folder holds all the css, fonts, images etc. for both admin and site
# environments
This folder holds two key files one is for production environment and other for development environment.
# system
This is core folder which holds all default system source codes. If you have not extended any functionality on nodex and src/app each for NodeJs and Angular functionalities respectively, the code in system folder will be executed to perform all basic operations like CRUD for you.
# nodex
All the core NodeJs related logics and routes are here. Everything is organised as admin and site separately.
# src
All the core Angular components, services, pipes etc. logics and routes are here. Everything is organised as admin and site separately.
# uploads
All files uploaded in the system are stored inside this folder.