- Node.js v14+
- MongoDB URI (local or cloud)
git clone https://github.com/rupak-at/taskManager_backend.git
cd server
npm installCreate a .env file:
PORT=4000
MONGO_URI=your_mongo_connection_string
npm run devBase URL: http://localhost:4000/api
POST /task
{
"title": "Finish README",
"description": "Write a detailed API usage guide",
"status": "in-progress"
}GET /task
status(optional):pending|completed|in-progresssort(optional):createdAtor-createdAtlimit(optional): Number of tasks per page (default: 3)page(optional): Page number (default: 1)
GET /task?status=pending&page=2&sort=-createdAt&limit=2
GET /task/:id
PUT /task/:id
{
"title": "Updated Task",
"description": "Updated Description",
"status": "completed"
}PATCH /task/:id/status
{
"status": "in-progress"
}DELETE /task/:id
Supports:
- Status filtering:
status=pending - Sorting by creation date:
sort=createdAtor-createdAt - Pagination:
limitandpagequery params
{
"msg": "All Tasks",
"tasks": [
{
"_id": "64fe6a9232d8f2e9a4a9c12d",
"title": "Complete UI",
"description": "Design landing page",
"status": "pending",
"createdAt": "2024-04-10T12:00:00Z"
}
],
"pagination": {
"totalTasks": 12,
"totalPages": 4,
"currentPage": 2,
"perPage": 3
}
}📆 project-root
🗂️ controller/
│ └── taskController.js
🗂️ middleware/
│ └── dataValidation.js
🗂️ model/
│ └── taskModel.js
🗂️ router/
│ └── taskRoute.js
🗂️ db/
│ └── connection.js
└── index.js