A full-stack MERN application for team collaboration and task management with real-time features.
- Authentication - JWT-based user registration and login
- Team Management - Create teams and manage members
- Task Management - CRUD operations with assignments and due dates
- Kanban Board - Drag-and-drop interface with status columns
- Calendar View - Visual timeline of task working periods
- Real-time Chat - Socket.IO powered team messaging
- Pomodoro Timer - Draggable timer with task tracking
- Analytics - Performance metrics and insights
- Dark Mode - Flexoki theme with light/dark toggle
Backend: Node.js, Express, MongoDB, Socket.IO, JWT Frontend: React 19, Vite, React Router, Chart.js, FullCalendar, @dnd-kit
- Node.js v16+
- MongoDB
- npm
cd backend
npm install
cp .env.example .env # Configure your environment variables
npm run dev # Runs on http://localhost:5000cd frontend
npm install
cp .env.example .env # Configure your environment variables
npm run dev # Runs on http://localhost:5173PORT=6000
NODE_ENV=development
MONGODB_URI=mongodb://localhost:27017/team-collab
JWT_SECRET=your_jwt_secret_key_change_this_in_production
CLIENT_URL=http://localhost:5000
VITE_API_URL=http://localhost:6000
VITE_SOCKET_URL=http://localhost:6000
VITE_USE_PROXY=true
VITE_PORT=5000
POST /api/users/register- Register userPOST /api/users/login- Login userGET /api/users/profile- Get profile (Protected)PUT /api/users/profile- Update profile (Protected)
POST /api/teams- Create teamGET /api/teams- Get user's teamsGET /api/teams/:id- Get team detailsPUT /api/teams/:id- Update team (Owner only)DELETE /api/teams/:id- Delete team (Owner only)POST /api/teams/:id/members- Add member (Owner only)DELETE /api/teams/:id/members/:memberId- Remove member (Owner only)
POST /api/tasks- Create taskGET /api/tasks/:teamId- Get team tasksGET /api/tasks/task/:id- Get task by IDPUT /api/tasks/:id- Update taskPATCH /api/tasks/:id/status- Update statusDELETE /api/tasks/:id- Delete task
GET /api/analytics/team/:teamId- Team analytics (Owner only)GET /api/analytics/pomodoro/:teamId- Pomodoro statsGET /api/analytics/completion/:teamId- Completion trends
GET /api/messages/:teamId- Get team messages
POST /api/pomodoro- Save pomodoro session
Proj/
├── backend/
│ ├── controllers/ # Request handlers
│ ├── middleware/ # Auth middleware
│ ├── models/ # Mongoose schemas
│ ├── routes/ # API routes
│ ├── utils/ # Socket handler
│ └── server.js # Entry point
│
└── frontend/
└── src/
├── components/ # Reusable components
├── context/ # React Context (Auth, Theme)
├── pages/ # Page components
├── styles/ # CSS files
├── utils/ # API utilities
└── App.jsx # Main app
- Register/Login - Create an account
- Create Team - Set up your team
- Add Members - Invite by email
- Create Tasks - Add tasks with details and assignments
- Manage Tasks - Use list view, Kanban, or Calendar
- Chat - Real-time team communication
- Pomodoro - Track focused work sessions
- Analytics - View team performance metrics
# Backend
cd backend
npm start
# Frontend
cd frontend
npm run build
npm run previewISC License
Built with React 19, Express.js, MongoDB, Socket.IO, Chart.js, FullCalendar, @dnd-kit, the Flexoki color palette, and the Lucide icon set.