Skip to content

YoYo178/todo-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

✅ TODO App — Internship Assignment

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.

✨ Features

  • 🧑‍💼 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

🛠️ Tech Stack

Frontend

Backend

📦 Setup

Prerequisites

  • Node.js ≥ 18.x
  • pnpm (or npm/yarn)
  • MongoDB (local or Atlas)

1. Clone the Repo

git clone https://github.com/your-username/todo-app.git
cd todo-app

2. Start Backend

cd backend
pnpm install
pnpm dev
  • Make sure to add the required variables in backend/config/.env.development:

    MONGODB_URI=<your_mongodb_uri>
    
    ACCESS_TOKEN_SECRET=<secret_string>
    REFRESH_TOKEN_SECRET=<secret_string>

3. Start Frontend

cd frontend
pnpm install
pnpm dev

📁 Folder Structure

.
├── 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

✅ Demo Features (Walkthrough)

  • 📝 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

📜 License

MIT — Free to use for personal, academic, or professional projects.

Releases

No releases published

Packages

No packages published

Languages