A starter Template to build Api's with Express Node and MongoDB.
1 cp .env.example .env
2 npm run dev
- Restful Api
- Swagger Docs
- Auth with Email Confirmation and Password Recovery
- Unit and Integration Tests.
- Modular file configuration and Folder Structure.
- Es-Lint.
- Multiple Enviroments setup (development, staging, production)
C:.
| .env
| .env.example
| .eslintignore
| .eslintrc.json
| .gitignore
| LICENSE
| package-lock.json
| package.json
| README.md
|
+---src
| | app.js
| |
| +---config
| | .gitkeep
| | chalk.js
| | development.js
| | index.js
| | logger.js
| | production.js
| | staging.js
| |
| +---helpers
| | index.js
| |
| +---models
| | | .gitkeep
| | | index.js
| | |
| | \---User
| | User.js
| |
| +---modules
| | \---User
| | +---controllers
| | | index.js
| | |
| | +---policies
| | | index.js
| | |
| | \---routes
| | index.js
| |
| \---router
| index.js
|
\---test
+---integration
| .gitkeep
|
\---unit
.gitkeep
This contains most of the folders and files for the project
Houses all the config files including enviroment configs for development, staging and production.
All your mongoose models are kept here and are required automatically into the index.js in the model folder, which in turn is required into the app.js file.
This contains both folders for integation and unit test files.
This contains all the modules for your project, etc User, Admin. In every module folder you have 3 sub-folders:
- Controllers
- Policies
- Routes
contains all the logic for that specific module.
contains all the validation middleware for that module.
contains module route definitions and assembly point for controllers and validation middleware, assigning them to specific routes.