Skip to content

NikithaKunapareddy/Modern-TODO-Application

Repository files navigation

Fastodo - Modern Task Management ๐Ÿ“

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.

โœจ Features

๐ŸŽฏ Core Functionality

  • 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

๐Ÿ—“๏ธ Calendar Integration

  • 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

๐ŸŽจ User Experience

  • 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

๐Ÿš€ Modern Tech Stack

  • 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

๐Ÿ› ๏ธ Installation & Setup

Prerequisites

  • Node.js (v16 or higher)
  • npm, yarn, or bun package manager

Getting Started

  1. Clone the repository
git clone https://github.com/NikithaKunapareddy/fastodo.git
cd fastodo
  1. Install dependencies
# Using npm
npm install

# Using yarn
yarn install

# Using bun
bun install
  1. Start the development server
# Using npm
npm run dev

# Using yarn
yarn dev

# Using bun
bun dev
  1. Open your browser Navigate to http://localhost:5173 to see the application

๐Ÿ“ Project Structure

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

๐ŸŽจ Color Scheme & Design

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

๐Ÿ”ง Available Scripts

# 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

๐Ÿ“ฑ Responsive Design

  • 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

๐ŸŽฏ Usage Guide

Creating Tasks

  1. Click the input field at the top
  2. Enter your task title
  3. Click "Add Details" for advanced options:
    • Set due date using the calendar
    • Choose priority level (High/Medium/Low)
    • Add tags for organization
  4. Click "Add Task" to save

Managing Lists

  • 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

Sorting & Filtering

  • Use the sort options to organize tasks
  • Sort by name, priority, or date
  • Filter tasks by selecting specific lists

๐Ÿ”„ Data Persistence

  • 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

๐ŸŒŸ Key Features in Detail

Task Management

  • โœ… 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

List Management

  • ๐Ÿ“‹ Create multiple todo lists
  • ๐Ÿ”„ Switch between lists easily
  • ๐Ÿ—‘๏ธ Delete lists when no longer needed
  • ๐Ÿ‘๏ธ View all tasks across lists

Calendar Features

  • ๐Ÿ“… Interactive calendar widget
  • ๐Ÿ—“๏ธ Month navigation
  • ๐ŸŽฏ Date selection for tasks
  • ๐Ÿ“ฑ Mobile-responsive design

๐Ÿค Contributing

We welcome contributions! Here's how you can help:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

๐Ÿ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿš€ Deployment

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 dist folder after building

๐Ÿ”ฎ Future Enhancements

  • ๐Ÿ”„ 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! ๐ŸŽ‰

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages