A modern, responsive Todo web application built with React, TypeScript, and Vite. Manage your todos efficiently with deadlines, status tracking, and filtering capabilities.
- ✅ Add Todos: Create new todos with optional deadlines
- 📅 Deadline Management: Set and track due dates for your todos
- 🔄 Status Toggle: Mark todos as complete or incomplete
- 🗑️ Delete with Confirmation: Safely remove todos with a confirmation dialog
- 🔍 Filtering: View all, active, or completed todos
⚠️ Overdue Detection: Automatically highlight overdue todos- 📱 Responsive Design: Works seamlessly on desktop and mobile devices
- ⚡ Fast Performance: Built with Vite for lightning-fast development and builds
- Frontend: React 19, TypeScript
- Build Tool: Vite
- Styling: CSS Modules
- Linting: ESLint with TypeScript support
- Node.js (version 18 or higher)
- pnpm (recommended) or npm
-
Clone the repository:
git clone <repository-url> cd tickdone-react
-
Install dependencies:
pnpm install # or npm install -
Start the development server:
pnpm dev # or npm run dev -
Open http://localhost:4000 in your browser.
pnpm build
# or
npm run buildpnpm preview
# or
npm run previewThis frontend application expects a REST API backend running on the same domain with the following endpoints:
GET /todos- Fetch all todosPOST /todos- Create a new todoPUT /todos/:id- Update a todoDELETE /todos/:id- Delete a todo
interface Todo {
id: number;
taskName: string;
deadline: string | null; // ISO date string
done: boolean;
}tickdone-react/
├── public/
│ └── favicon.svg
├── src/
│ ├── assets/
│ ├── components/
│ │ └── Todo/
│ │ ├── Todo.css
│ │ ├── Todo.test.tsx
│ │ └── Todo.tsx
│ ├── test/
│ │ ├── server.ts
│ │ └── setup.ts
│ └── main.tsx
├── package.json
├── vite.config.ts
├── index.html
└── README.md
dev- Start development serverbuild- Build for productionlint- Run ESLintpreview- Preview production build
- Fork the repository
- Create a feature branch
- Make your changes
- Run linting:
pnpm lint - Commit your changes
- Push to the branch
- Open a Pull Request
This project is private and not licensed for public use.
This project is licensed under the MIT License.
