This is a Node.js application using Express.js. It features a RESTful API and is written in TypeScript. Key features include user authentication with JWTs, MongoDB with Mongoose for data storage, and email services using Nodemailer.
The application follows common security best practices, using packages like Helmet for setting HTTP headers, express-rate-limit for rate limiting, and bcrypt for password hashing. API documentation is handled with Swagger.
Ensure you have Node.js version 18.0.0
or later.
Use the package manager npm to install the dependencies.
npm install
To run the app in development mode, use one of the following commands:
npm run dev
npm run start
To run the app in production mode with Node.js, use:
npm run start:node
To run the app in production mode with PM2, use:
npm run start:pm2
To build the application for production, use:
npm run build
To run tests, use:
npm run test
The project uses ESLint and Prettier for code formatting and consistency. You can manually lint the code using the following command:
npm run lint