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 TaskMaster
cd backend
cp config.env.example config.env
npm install
npm run dev
Runs at
http://localhost:5000
cd frontend
npm install
echo "VITE_APP_API_URL=http://localhost:5000/api" > .env
npm run dev
Runs 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
Authorization
header: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 --build
Ensure 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=development
VITE_APP_API_URL=http://localhost:5000/api
cd backend
npm test
cd frontend
npm test
API 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.