A full-stack TODO web application built with the MERN stack, featuring user authentication, task management, star-based task rating, and a responsive UI built with Tailwind CSS and shadcn/ui components.
- 🧑💼 Register / Login / Logout
- ✅ Create, Edit, Delete tasks
- 🌟 Rate tasks from 1 to 5 stars
- 🔒 Authenticated dashboard
- 💅 Clean, responsive UI with Tailwind & shadcn/ui
- ⚙️ Modular and scalable codebase
- Vite + React
- TypeScript
- Tailwind CSS
- shadcn/ui for UI components
- React Query for data fetching
- react-hook-form + Zod for form handling
- Node.js + Express.js
- MongoDB + Mongoose
- JWT-based authentication (access + refresh tokens)
- Node.js ≥ 18.x
- pnpm (or npm/yarn)
- MongoDB (local or Atlas)
git clone https://github.com/your-username/todo-app.git
cd todo-appcd backend
pnpm install
pnpm dev-
MONGODB_URI=<your_mongodb_uri> ACCESS_TOKEN_SECRET=<secret_string> REFRESH_TOKEN_SECRET=<secret_string>
cd frontend
pnpm install
pnpm dev.
├── backend
│ ├── config/
│ ├── .env.development
│ ├── src/
│ ├── common/
│ ├── config/
│ ├── controllers/
│ ├── middlewares/
│ ├── models/
│ ├── routes/
│ ├── schemas/
│ ├── types/
│ ├── utils/
│ └── server.ts
│ └── index.ts
├── frontend
│ ├── src/
│ │ ├── components/
│ │ ├── config/
│ │ ├── contexts/
│ │ ├── hooks/
│ │ ├── layouts/
│ │ ├── lib/
│ │ ├── pages/
│ │ ├── types/
│ │ └── App.tsx
│ │ └── main.tsx
└── README.md- 📝 Dashboard: View all tasks, add new ones with a modal form
- 🧠 Ratings: Click stars to rate task importance
- 🔁 Edit Modal: Pre-filled form to update existing tasks
- 🧼 Validation: Required fields with inline errors
MIT — Free to use for personal, academic, or professional projects.