Develop a todo list API with authentication using Node.js, integrate with a database, Dockerize the application, set up CI/CD pipelines, and write test cases.
- Implement CRUD operations for managing todo items.
- Include user authentication (e.g., JWT-based authentication).
- Utilize Node.js with Express.js for API development with TypeScript.
- Integrate the API with a database (e.g., MongoDB, PostgreSQL).
- Write test cases for API endpoints and authentication flows using Jest.
- Dockerize the application for easy deployment.
- Ensure secure storage of user credentials and proper validation of authentication tokens.
- Implement pagination and filtering options for fetching todo items.
- Document the API endpoints and authentication mechanisms.
- Node.js
- Express.js (with TypeScript)
- MongoDB or PostgreSQL
- Jest (for testing)
- Docker
- Swagger or OpenAPI (for API documentation)
- Node.js (>=14.x)
- npm (>=6.x) or yarn
- MongoDB or PostgreSQL
- Docker
- Clone the repository
- Navigate to cloned repository using cd command
- Run the application using npm start command. It is is configured in such a way that it will in turn include everything like dependency installation , build application and running the application
- Obtain a JWT token using the /auth/login endpoint.
- Use the token to access other API endpoints.
- Manage todo items using the API endpoints.
- Implement pagination and filtering options for fetching todo items.
- Swagger or OpenAPI documentation can be accessed at /api-docs.
sh npm run test
yarn test