A production-ready, full-featured to-do list app built with the MERN stack (MongoDB, Express.js, React, Node.js), featuring modern UI/UX, smart task organization, and JWT-based authentication.
- ๐ Secure Authentication (JWT, bcrypt)
- โ Full Task CRUD with priority, tags, due dates
- ๐๏ธ Advanced Filtering by date, tags, status
- ๐ Smart Grouping: Today, Tomorrow, Overdue
- ๐จ Modern Responsive UI (Tailwind + React + TypeScript)
- โก Real-Time Updates, inline editing, animations
- ๐ Statistics Dashboard for task insights
- ๐ PWA-Ready (future) & mobile-first design
| Frontend | Backend | Database | Tooling & Libraries | 
|---|---|---|---|
| React + Vite | Node.js + Express | MongoDB | ESLint, Prettier, CORS | 
| TypeScript | JWT Auth, bcryptjs | Mongoose | express-validator, dotenv | 
| Tailwind CSS | REST API | MongoDB Atlas (prod) | React Router, Axios | 
TaskMaster/
โโโ backend/                 # Express.js API
โ   โโโ config/              # Environment config
โ   โโโ middleware/          # Auth & validation
โ   โโโ models/              # Mongoose schemas
โ   โโโ routes/              # API routes
โ   โโโ server.js            # Entry point
โ   โโโ Dockerfile           # Backend Docker support
โโโ frontend/                # React + TypeScript App
โ   โโโ src/
โ   โ   โโโ components/      # Reusable UI elements
โ   โ   โโโ contexts/        # Auth and Task providers
โ   โ   โโโ pages/           # Login, Signup, Dashboard
โ   โ   โโโ services/        # Axios-based API layer
โ   โ   โโโ types/           # Global TS types
โ   โโโ Dockerfile           # Frontend Docker support
โโโ docker-compose.yml       # Unified dev setup
- Node.js v16+
- MongoDB (local or Atlas)
- npm or yarn
git clone <repo-url>
cd TaskMastercd backend
cp config.env.example config.env
npm install
npm run devRuns at
http://localhost:5000
cd frontend
npm install
echo "VITE_APP_API_URL=http://localhost:5000/api" > .env
npm run devRuns at
http://localhost:5173
| Endpoint | Method | Description | 
|---|---|---|
| /api/auth/signup | POST | Register user | 
| /api/auth/login | POST | Login and get token | 
| Endpoint | Method | Description | 
|---|---|---|
| /api/tasks | GET | Fetch all tasks | 
| /api/tasks | POST | Create a new task | 
| /api/tasks/:id | PUT | Update a task | 
| /api/tasks/:id | DELETE | Delete a task | 
| /api/tasks/:id/toggle | PATCH | Toggle completion status | 
- completed=true|false
- priority=low|medium|high
- tag=tagName
- dueDate=YYYY-MM-DD
- Password hashing with bcrypt
- JWT token-based login and middleware protection
- Token sent in Authorizationheader:Bearer <token>
- Due date parsing with grouping: Today, Tomorrow, Overdue
- Tags and priorities to organize tasks
- Inline editing, completion toggle, and deletion
- Built with Tailwind CSS and ARIA support
- Fully responsive: Desktop, Tablet, and Mobile views
- Keyboard navigation + dark mode planned
docker-compose up --buildEnsure MongoDB is running or use MongoDB Atlas in your
.env.
PORT=5000
MONGODB_URI=mongodb://localhost:27017/taskmaster
JWT_SECRET=your-secure-secret
NODE_ENV=developmentVITE_APP_API_URL=http://localhost:5000/apicd backend
npm testcd frontend
npm testAPI testing recommended via Postman or Insomnia.
โ
 Environment files configured
โ
 Use production DB (e.g., MongoDB Atlas)
โ
 Set secure JWT secret
โ
 Configure CORS origin restrictions
โ
 Enable HTTPS
โ
 Use .dockerignore to reduce image size
โ
 Lint, build, and test before deploy
| Feature | Status | 
|---|---|
| Recurring Tasks | ๐ Planned | 
| Subtasks | ๐ Planned | 
| Push Notifications | ๐ Planned | 
| PWA / Offline Mode | ๐ Planned | 
| Mobile App | ๐ Planned | 
| Module | Status | 
|---|---|
| Backend | โ Complete | 
| Frontend | โ Complete | 
| Testing | ๐ก Partial | 
| Deployment | ๐ข Ready | 
Built with โค๏ธ using the MERN stack Organize your life. One task at a time.