NodeJs using MongoDB as database
- Basic Authentication (Register/Login with hashed password)
- Account confirmation with 4 (Changeable) digit OTP.
- Email helper ready just import and use.
- JWT Tokens, make requests with a token after login with
Authorization
header with valueBearer yourToken
whereyourToken
will be returned in Login response. - Pre-defined response structures with proper status codes.
- Included CORS.
- Book example with CRUD operations.
- Validations added.
- Included API collection for Postman.
- Light-weight project.
- Test cases with Mocha and Chai.
- Code coverage with Istanbuljs (nyc).
- Included CI (Continuous Integration) with Travis CI.
- Linting with Eslint.
- Node.js 8+
- MongoDB 3.6+ (Recommended 4+)
- find
.env.example
on root directory of project. - Create a new file by copying and pasting the file and then renaming it to just
.env
cp .env.example .env
- The file
.env
is already ignored, so you never commit your credentials. - Change the values of the file to your environment. Helpful comments added to
.env.example
file to understand the constants.
npm run dev
Note: YOUR_DB_CONNECTION_STRING
will be your MongoDB connection string.
If you need to add more models to the project just create a new file in /models/
and use them in the controllers.
If you need to add more routes to the project just create a new file in /routes/
and add it in /routes/api.js
it will be loaded dynamically.
create a new file in /controllers/
and use them in the routes.
npm test