Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
express-node-starter
Advanced tools
Express, MongoDB, Firebase, and Swagger for API documentation starter for building RESTful APIs
REST API Developed with Node.js, Express, MongoDB
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]
Authorization
header with value Bearer yourToken
where yourToken
will be returned in the Login response.nodemailer
git clone https://github.com/fadhlaouir/express-node-starter.git
cd express-node-starter
npm install
.env.example
on root directory of project..env
cp .env.example .env
.env
is already ignored, so you never commit your credentials..env.example
file to understand the constants..
├── .husky
│ ├── _
│ │ ├── .gitignore
│ │ └── husky.sh
│ ├── pre-commit
│ └── pre-push
├── cli
│ ├── _
│ │ ├── deleteCrud.js
│ │ ├── generateEmptyCrud.js
│ │ ├── generateMinimalCrud.js
│ │ └── helpers.js
│ ├── index.js
│ └── README.md
├── .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 develop
Linux OS or Mac OS
npm run develop:mac
Connected 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:operation
See 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:check
npm run lint:fix
npm run format:fix
You 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.
For any inquiries or issues, please contact Support Email.
FAQs
Express, MongoDB, Firebase, and Swagger for API documentation starter for building RESTful APIs
The npm package express-node-starter receives a total of 5 weekly downloads. As such, express-node-starter popularity was classified as not popular.
We found that express-node-starter demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.