todo Tailwind Templates

Todo

this a technical test using react vite and tailwind

React Todo Manager App

A scalable and performant Todo Manager application built with React, featuring:

  • CRUD operations
  • Drag & Drop reordering
  • Filtering & search
  • Unit & integration testing
  • Clean architecture & modular structure

Live Demo

View Live App (Vercel)


๐Ÿง  Tech Stack

  • React
  • TypeScript
  • Axios
  • TailwindCSS
  • React Beautiful DnD
  • Vite

๐Ÿ“ฆ Features

โœ… Core Functionality

  • Fetch todos from https://jsonplaceholder.typicode.com/todos
  • View todos in a responsive list
  • Filter: All / Completed / Incomplete
  • Search by title
  • Edit todos in a modal (title + completion status)
  • Delete with confirmation
  • Drag and Drop support for reordering
  • Toast notifications (success & error)

๐Ÿงช Tests

  • Unit tests for custom hook (useTodos)
  • Integration tests for the Todo list and edit modal

๐Ÿ—‚ Folder Structure

todo-manager/
โ”œโ”€ public/
โ”‚  โ””โ”€ vite.svg
โ”œโ”€ src/
โ”‚  โ”œโ”€ assets/
โ”‚  โ”‚  โ””โ”€ react.svg
โ”‚  โ”œโ”€ components/
โ”‚  โ”œโ”€ features/
โ”‚  โ”‚  โ”œโ”€ todos/
โ”‚  โ”‚  โ”‚  โ”œโ”€ components/
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ EditTodoModal.test.tsx
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ EditTodoModal.tsx
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ TodoList.test.tsx
โ”‚  โ”‚  โ”‚  โ”‚  โ””โ”€ TodoList.tsx
โ”‚  โ”‚  โ”‚  โ””โ”€ hooks/
โ”‚  โ”‚  โ”‚     โ”œโ”€ ThemeContext.tsx
โ”‚  โ”‚  โ”‚     โ”œโ”€ useTodos.test.ts
โ”‚  โ”‚  โ”‚     โ””โ”€ useTodos.ts
โ”‚  โ”‚  โ””โ”€ types/
โ”‚  โ”œโ”€ services/
โ”‚  โ”œโ”€ App.tsx
โ”‚  โ”œโ”€ index.css
โ”‚  โ”œโ”€ main.tsx
โ”‚  โ”œโ”€ setupTests.ts
โ”‚  โ””โ”€ vite-env.d.ts
โ”œโ”€ .gitignore
โ”œโ”€ eslint.config.js
โ”œโ”€ index.html
โ”œโ”€ package-lock.json
โ”œโ”€ package.json
โ”œโ”€ README.md
โ”œโ”€ tsconfig.app.json
โ”œโ”€ tsconfig.json
โ”œโ”€ tsconfig.node.json
โ””โ”€ vite.config.ts

๐Ÿ› ๏ธ Development Setup

  1. Clone the repository

    git clone https://github.com/CE-droid/todo.git
    cd todo
    
  2. Install dependencies : ```bash npm install

  3. Run the development server: ```bash npm run dev

  4. Access the app: ```bash http://localhost:3000

Top categories

Loading Svelte Themes