A full-stack Project Management application built with React, Redux Toolkit, Node.js, Express, and MongoDB. This app allows teams to manage tasks, assign users, track progress, and handle notifications with a modern, responsive UI.
Task Manager is designed for collaborative teams to:
- Create, update, and delete tasks
- Assign users to tasks
- Track task progress and stages
- Manage subtasks
- View statistics and charts
- Handle notifications
- Trash and restore tasks
- Secure authentication with JWT
- User Authentication (JWT, role-based: Admin/User)
- Task CRUD (Create, Read, Update, Delete)
- Subtasks and activity tracking
- Board and Table Views for tasks
- Trash/Restore functionality
- User management (Admin only)
- Notifications panel
- Responsive UI (Tailwind CSS)
- Statistics Dashboard
- Frontend: React (Vite), Redux Toolkit, Tailwind CSS
- Backend: Node.js, Express.js
- Database: MongoDB (Mongoose)
- Authentication: JWT (JSON Web Token)
- State Management: Redux Toolkit Query
Task Manager/
├── client/ # React frontend
│ ├── src/
│ │ ├── components/
│ │ ├── pages/
│ │ ├── redux/
│ │ ├── utils/
│ │ └── ...
│ ├── public/
│ └── ...
├── server/ # Node.js backend
│ ├── controllers/
│ ├── models/
│ ├── routes/
│ ├── middlewares/
│ └── ...
└── README.md
The Task Manager app is live!
Live Demo: Tasker
You can try out all features directly on the hosted site.
git clone https://github.com/AviralMehrotra/Tasker.git
cd Tasker
cd server
npm install
- Create a
.env
file in/server
with:MONGO_URI=your_mongodb_connection_string JWT_SECRET=your_jwt_secret PORT=5000
- Start the backend:
npm run dev # or npm start
cd ../client
npm install
npm run dev
- The frontend will run on http://localhost:5173 by default.
Backend (/server/.env
):
MONGO_URI
- MongoDB connection stringJWT_SECRET
- Secret for JWT signingPORT
- Server port (default: 5000)
Frontend:
- Cloudniary API and URL
- Your Backend API
- Register or login as a user or admin
- Create and manage tasks
- Assign users to tasks
- Move tasks between stages (To Do, In Progress, Completed)
- Trash or restore tasks
- View statistics and notifications
- Admins can manage users
- Auth:
/api/auth/login
,/api/auth/register
,/api/auth/change-password
- Tasks:
/api/tasks
,/api/tasks/:id
,/api/tasks/create
,/api/tasks/update/:id
,/api/tasks/delete-restore/:id
- Users:
/api/users
,/api/users/:id
- Notifications:
/api/notifications
(See code for detailed request/response formats.)
- Fork the repository
- Create your feature branch (
git checkout -b feature/YourFeature
) - Commit your changes (
git commit -am 'Add new feature'
) - Push to the branch (
git push origin feature/YourFeature
) - Open a Pull Request
This project is licensed under the MIT License.