Welcome to Task Master! This is a full-stack Task Management application built using the MERN (MongoDB, Express, React, Node.js) stack. It features a bold Neo-Brutalism design aesthetic and robust functionality for managing tasks, users, and priorities.
- Authentication & Authorization: Secure JWT-based login and registration.
- Role-Based Access Control (RBAC):
- Users: Can manage their own assigned tasks.
- Admins: Can manage all users, create tasks for specific users, and view system-wide data.
- Task Management:
- Create, Read, Update, Delete (CRUD) tasks.
- Pagination support (via AJAX logic).
- "Assign To" functionality for Admins.
- Custom Confirmation Dialog for deletion.
- Priority Board:
- Drag & Drop interface to organize tasks by priority (High, Medium, Low).
- Visual color-coding for priority levels.
- Design:
- Neo-Brutalism: High contrast, bold borders, shadows, and vibrant colors using TailwindCSS.
- Responsive layout for mobile and desktop.
- Node.js & Express: API server.
- MongoDB & Mongoose: Database and Object Data Modeling.
- JWT & bcryptjs: Security and Authentication.
- React (Vite): Fast, modern UI development.
- TailwindCSS: Utility-first styling.
- Context API: State management for Authentication.
- @hello-pangea/dnd: Drag and Drop functionality.
- React Router DOM: Navigation and protected routes.
- React Hot Toast: Beautiful notifications.
- Node.js installed.
- MongoDB installed and running locally on port
27017.
cd backend
npm install
# Create a .env file with:
# PORT=5000
# MONGO_URI=mongodb://localhost:27017/task_manager_db
# JWT_SECRET=your_super_secret_key
npm run dev
# Server starts on http://localhost:5000cd frontend
npm install
npm run dev
# App starts on http://localhost:5173To unlock admin features (User Management, Task Assignment), you must create the first admin via API (Postman/cURL):
POST http://localhost:5000/api/auth/register
{
"username": "admin",
"email": "admin@test.com",
"password": "password123",
"role": "admin"
}