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|falsepriority=low|medium|hightag=tagNamedueDate=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.