A sleek, modern todo list application built with React, TypeScript, and Tailwind CSS. Fastodo offers a beautiful and intuitive interface for managing your daily tasks efficiently.
- Create & Manage Tasks: Add, edit, and delete tasks with ease
- Task Prioritization: Set tasks as High, Medium, or Low priority
- Due Dates: Assign due dates to tasks with an integrated calendar
- Tag System: Organize tasks with custom tags (Life, Blog, Reminder, etc.)
- Task Status: Mark tasks as completed or pending
- Multiple Lists: Create and manage multiple todo lists
- Interactive Calendar: Built-in calendar for date selection
- Month Navigation: Navigate between months easily
- Date Highlighting: Visual indicators for selected dates and today
- Mobile Responsive: Calendar adapts to mobile screen sizes
- Dark Theme: Modern dark UI with carefully chosen colors
- Responsive Design: Works seamlessly on desktop and mobile
- Sidebar Navigation: Collapsible sidebar for list management
- Sorting Options: Sort tasks by name, priority, or date
- Local Storage: Automatically saves your data locally
- Toast Notifications: Visual feedback for user actions
- React 18: Latest React with hooks and functional components
- TypeScript: Full type safety and better developer experience
- Tailwind CSS: Utility-first CSS framework for rapid UI development
- Shadcn/ui: Beautiful and accessible UI components
- Radix UI: Unstyled, accessible components for complex UI elements
- Lucide React: Beautiful SVG icons
- Date-fns: Modern date utility library
- React Router: Client-side routing
- Vite: Fast build tool and development server
- Node.js (v16 or higher)
- npm, yarn, or bun package manager
- Clone the repository
git clone https://github.com/NikithaKunapareddy/fastodo.git
cd fastodo- Install dependencies
# Using npm
npm install
# Using yarn
yarn install
# Using bun
bun install- Start the development server
# Using npm
npm run dev
# Using yarn
yarn dev
# Using bun
bun dev- Open your browser
Navigate to
http://localhost:5173to see the application
src/
โโโ components/ # Reusable UI components
โ โโโ ui/ # Shadcn/ui components
โ โโโ Calendar.tsx # Custom calendar component
โ โโโ TodoInput.tsx # Todo input form
โ โโโ TodoItem.tsx # Individual todo item
โ โโโ TodoEdit.tsx # Edit todo modal
โ โโโ TodoSidebar.tsx # Sidebar navigation
โ โโโ SortOptions.tsx # Sorting controls
โโโ hooks/ # Custom React hooks
โโโ lib/ # Utility functions
โโโ pages/ # Page components
โ โโโ Index.tsx # Main todo page
โ โโโ NotFound.tsx # 404 page
โโโ App.tsx # Main app component
โโโ main.tsx # Entry point
โโโ index.css # Global styles
Fastodo uses a carefully crafted dark theme:
- Background: Deep blue-gray (#1A1F2C)
- Sidebar: Darker variant (#221F26)
- Cards: Charcoal gray (#333333)
- Highlight: Purple (#9b87f5)
- Accent: Warm yellow (#FAD86B)
- Text: White primary, gray secondary
# Development
npm run dev # Start development server
npm run build # Build for production
npm run preview # Preview production build
npm run lint # Run ESLint
# Build variants
npm run build:dev # Development build- Mobile First: Optimized for mobile devices
- Breakpoints: Responsive design with Tailwind's breakpoint system
- Touch Friendly: Large touch targets for mobile users
- Collapsible UI: Sidebar collapses on mobile for better space usage
- Click the input field at the top
- Enter your task title
- Click "Add Details" for advanced options:
- Set due date using the calendar
- Choose priority level (High/Medium/Low)
- Add tags for organization
- Click "Add Task" to save
- Click "New List" in the sidebar to create custom lists
- Switch between lists by clicking on them
- Delete lists using the X button
- Use "All Todos" to view tasks from all lists
- Use the sort options to organize tasks
- Sort by name, priority, or date
- Filter tasks by selecting specific lists
- Local Storage: All data is automatically saved to your browser's local storage
- Real-time Sync: Changes are saved immediately
- Data Recovery: Your tasks persist between browser sessions
- โ Add new tasks with title, date, priority, and tags
- โ๏ธ Edit existing tasks in a modal dialog
- ๐๏ธ Delete tasks with confirmation
- โ๏ธ Toggle task completion status
- ๐ท๏ธ Organize with custom tags
- ๐ Create multiple todo lists
- ๐ Switch between lists easily
- ๐๏ธ Delete lists when no longer needed
- ๐๏ธ View all tasks across lists
- ๐ Interactive calendar widget
- ๐๏ธ Month navigation
- ๐ฏ Date selection for tasks
- ๐ฑ Mobile-responsive design
We welcome contributions! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
The application can be deployed to various platforms:
- Vercel: Deploy with one click using the included
vercel.json - Netlify: Simple drag-and-drop deployment
- GitHub Pages: Deploy from the
distfolder after building
- ๐ Task synchronization across devices
- ๐ง Email reminders for due tasks
- ๐จ Custom themes and color schemes
- ๐ Task analytics and productivity insights
- ๐ Task sharing and collaboration
- ๐ฑ Progressive Web App (PWA) support
Happy task managing! ๐