
Research
Security News
Lazarus Strikes npm Again with New Wave of Malicious Packages
The Socket Research Team has discovered six new malicious npm packages linked to North Korea’s Lazarus Group, designed to steal credentials and deploy 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
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
The Socket Research Team has discovered six new malicious npm packages linked to North Korea’s Lazarus Group, designed to steal credentials and deploy backdoors.
Security News
Socket CEO Feross Aboukhadijeh discusses the open web, open source security, and how Socket tackles software supply chain attacks on The Pair Program podcast.
Security News
Opengrep continues building momentum with the alpha release of its Playground tool, demonstrating the project's rapid evolution just two months after its initial launch.