Express + MongoDB REST API for per-project issue tracking with functional tests, built for the FreeCodeCamp Quality Assurance certification.
POST /api/issues/:project— creates an issue bound to a project slug; requiresissue_title,issue_text,created_byGET /api/issues/:project— lists issues for a project with optional filters (open,assigned_to, etc.)PUT /api/issues/:project— updates one or more fields of an existing issue by_idDELETE /api/issues/:project— deletes an issue by_id- Issues are stored in MongoDB with
created_on,updated_on,openstatus, and optionalassigned_to/status_text - Functional tests cover create, read, update, delete paths and error cases
- Node.js
- Express
- MongoDB / Mongoose
- Chai / Mocha
- Node.js 16+
- MongoDB 4+
- Yarn 1.x or npm 8+
yarn installCreate a .env file in the project root with:
PORT— server port (defaults to3000)NODE_ENV—development|test|productionDB_CONNECTION_URI— MongoDB connection string
yarn startServer listens on http://localhost:3000.
NODE_ENV=test yarn startGET /api/issues/:project— list issues (filterable via query params)POST /api/issues/:project— create issuePUT /api/issues/:project— update issueDELETE /api/issues/:project— delete issue
.
├── routes/
├── tests/
├── public/
├── views/
├── db.js
├── server.js
└── package.json
This project is licensed under the MIT License — see the LICENSE file.