A professional task management application with Kanban boards, real-time collaboration, and modern UI.
- 📋 Kanban Boards - Drag & drop task management
- 👥 Team Collaboration - Real-time updates with Socket.IO
- 🔐 User Authentication - Secure JWT-based auth
- 📱 Responsive Design - Works on all devices
- 🎨 Modern UI - Clean, professional interface
- 📊 Project Management - Multiple projects and boards
- ⏰ Due Dates & Priorities - Task scheduling and prioritization
- 💬 Comments & Attachments - Rich task details
- Node.js + Express.js - Server framework
- MongoDB + Mongoose - Database
- Socket.IO - Real-time communication
- JWT - Authentication
- bcryptjs - Password hashing
- React 19 + Vite - Modern React setup
- React Router - Client-side routing
- @dnd-kit - Drag and drop functionality
- Socket.IO Client - Real-time updates
- Axios - HTTP client
- React Icons - Icon library
- date-fns - Date utilities
- Node.js (v18 or higher)
- MongoDB (local or cloud)
-
Clone and setup
cd task-manager -
Backend setup
cd backend npm install npm run dev -
Frontend setup (in new terminal)
cd frontend npm install npm run dev -
Access the app
- Frontend: http://localhost:5173
- Backend API: http://localhost:5001
task-manager/
├── backend/
│ ├── models/ # Database models
│ ├── routes/ # API routes
│ ├── middleware/ # Custom middleware
│ ├── index.js # Server entry point
│ └── .env # Environment variables
└── frontend/
├── src/
│ ├── components/ # Reusable components
│ ├── pages/ # Page components
│ ├── hooks/ # Custom hooks
│ ├── utils/ # Utility functions
│ ├── context/ # React context
│ └── App.jsx # Main app component
└── package.json
Create .env file in backend directory:
JWT_SECRET=your-super-secret-jwt-key
MONGODB_URI=mongodb://localhost:27017/taskmanager
NODE_ENV=development
PORT=5001GET /api/health- Health checkPOST /api/auth/register- User registrationPOST /api/auth/login- User loginGET /api/projects- Get user projectsPOST /api/projects- Create new projectGET /api/tasks/:projectId- Get project tasksPOST /api/tasks- Create new taskPUT /api/tasks/:id- Update taskDELETE /api/tasks/:id- Delete task
This is a portfolio project showcasing modern web development practices.