The Task Management System is a full-stack MERN (MongoDB, Express, React, Node) web application that helps users manage and track tasks efficiently. Users can add, update, complete, and delete tasks with a clean and responsive interface. It also includes secure user authentication.
-
User Authentication: Secure registration and login using JWT tokens.
-
Task Management:
- Add tasks with a title and description.
- View tasks categorized into pending and completed.
- Update task status (complete/revert).
- Delete tasks.
-
Role Management: Basic support for user and admin roles (if applicable).
-
Responsive UI: Optimized for all devices using Tailwind CSS.
- React.js
- React Router DOM
- Axios
- Tailwind CSS
- Node.js
- Express.js
- JWT (JSON Web Token) for authentication
- Mongoose for MongoDB ODM
- MongoDB (Cloud or Local using MongoDB Compass)
task-management-system/
├── backend/ # Node + Express + MongoDB API
│ └── models/ # Mongoose models
│ └── routes/ # Express routes
│ └── controllers/ # Route handlers
│ └── middleware/ # Auth middleware
│ └── .env # Environment variables
├── frontend/ # React app
│ └── src/
│ └── components/
│ └── pages/
│ └── context/
│ └── .env
- Node.js and npm
- MongoDB installed locally or use MongoDB Atlas
- Git
git clone https://github.com/your-username/task-management-system.git
cd task-management-system cd backend
npm install PORT=5000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret cd ../frontend
npm install VITE_API_URL=http://localhost:5000/api cd backend
npm run dev cd frontend
npm run dev Open http://localhost:5173 to view the app in your browser.
POST /api/auth/register- Register new userPOST /api/auth/login- User login
GET /api/tasks/pending- Get all pending tasksGET /api/tasks/completed- Get all completed tasksPOST /api/tasks- Add new taskPUT /api/tasks/:id/complete- Mark task as completePUT /api/tasks/:id/pending- Revert task to pendingDELETE /api/tasks/:id- Delete task
cd frontend
npm run build - Deploy the
/frontend/distfolder to Netlify, Vercel, or Surge.
- Deploy using platforms like Render, Railway, or DigitalOcean.
- Add your production MongoDB URI and other secrets in the hosted
.env.
Add screenshots of the app here (Pending, Completed views, Login/Register UI).
- Google or GitHub OAuth login
- Task reminders/notifications
- Task prioritization
- Subtasks or checklists
- Real-time collaboration
- Your Name – Full-stack Developer
- Collaborators (if any)