| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
This project provides a robust API skeleton written in JavaScript ES6, suitable for any project. It offers features such as authentication, authorization, JWT tokens, role management, CRUD operations, email notifications, and more. Additionally, it automates the generation of CRUD (Create, Read, Update, Delete) operations for entities within a MongoDB database, streamlining the development process for Node.js applications built on top of Express.js.
This is a basic API skeleton written in JavaScript ES6.
This project will run on NodeJs using MongoDB as database.
API Documentation [Swagger]
git clone https://github.com/fadhlaouir/express-node-starter.gitcd express-node-starter
npm installcp .env.example .env.
├── .husky
│ ├── _
│ │ ├── .gitignore
│ │ └── husky.sh
│ ├── pre-commit
│ └── pre-push
├── cli
│ ├── _
│ │ ├── deleteCrud.js
│ │ ├── generateEmptyCrud.js
│ │ ├── generateMinimalCrud.js
│ │ └── helpers.js
│ ├── index.js
│ └── README.md
├── src
│ ├── controllers
│ │ ├── auth.controller.js
│ │ └── user.controller.js
│ ├── middlewares
│ │ ├── multer.js
│ │ └── verify-token.js
│ ├── models
│ │ └── user.model.js
│ ├── routes
│ │ ├── auth.route.js
│ │ └── user.route.js
│ ├── template
│ │ └── userAccountEmailTemplates.js
│ ├── utils
│ │ └── helpers.js
│ └── swagger.json
├── .commitlintrc.json
├── .editorconfig
├── .env
├── .env.example
├── .eslintignore.json
├── .eslintrc.json
├── .gitignore
├── .prettierignore.json
├── .prettierrc.json
├── CHANGELOG.md
├── LICENSE
├── package.json
├── README.md
└── server.js
If you would like to run the API server on your local environment, you can do so by running the following command: Windows OS
npm run developLinux OS or Mac OS
npm run develop:macConnected to the database:YOUR_DB_CONNECTION_STRING
App is running ...
Press CTRL + C to stop the process.Note:
YOUR_DEVELOPMENT_DB_CONNECTION_STRING will be your MongoDB connection string for development environment.
YOUR_PRODUCTION_DB_CONNECTION_STRING will be your MongoDB connection string for production environment.
If you need to add more models to the project just create a new file in src/models/ and use them in the controllers.
If you need to add more routes to the project just create a new file in src/routes/ and import it in src/app to be loaded.
If you need to add more controllers to the project just create a new file in src/controllers/ and use them in the routes.
npm run crud:operationSee the CLI README section for more details on how to use the CLI to generate or delete CRUD operations.
Follow the prompts to select the CRUD type (empty or minimal) and provide the entity name. The tool will generate the necessary files for the CRUD operations based on your selection.
npm run lint:checknpm run lint:fixnpm run format:fixYou can set custom rules for eslint in .eslintrc.json file, Added at project root.
Every project needs improvements, Feel free to report any bugs or improvements. Pull requests are always welcome.
This project is open-sourced software licensed under the MIT License. See the LICENSE file for more information.
If you find this project valuable, consider supporting us through Buy Me a Coffee. Your sponsorship helps us maintain and improve the project, ensuring better features, updates, and support for the community.
| Back | FazBrowse Home | New Git URL |