Skip to content

marriamdd/Todo_List

Repository files navigation


To-Do App

🚀 Overview

The To-Do App is a powerful, feature-rich task management tool built with modern web technologies. Whether you need to manage daily tasks, keep track of project progress, or simply stay organized, this app has you covered!

Key Features

  • 📝 Add, Edit, Delete Tasks: Manage tasks efficiently.
  • Mark Tasks as Complete: Track your progress with ease.
  • 📊 Visual Stats: Use charts to view completed vs. pending tasks.
  • 🌍 Multi-language Support: Available in different languages using i18next.
  • 👥 User Authentication: Secure login and task management with Clerk.
  • 📱 Responsive Design: Optimized for all device sizes.

🛠️ Tech Stack

This app leverages a powerful combination of tools to provide a smooth, fast, and responsive user experience:

  • Frontend: React, React Router DOM, Context API
  • Styling: Tailwind CSS, Shadcn (for UI components)
  • Build Tool: Vite
  • State Management: React Context API
  • Authentication: Clerk for secure user management
  • Database: Supabase (for back-end as a service)
  • Charts: Chart.js for data visualization
  • Localization: i18next for multilingual support

📂 Project Structure

📦todo-app
 ┣ 📂public
 ┣ 📂src
 ┃ ┣ 📂components
 ┃ ┣ 📂config
 ┃ ┣ 📂contextApi
 ┃ ┣ 📂customHooks
 ┃ ┣ 📂layouts
 ┃ ┣ 📂pages
 ┃ ┣ 📂i18n
 ┃ ┗ 📜App.jsx
 ┣ 📜package.json
 ┗ 📜README.md

💻 Setup and Installation

To get this project up and running on your local machine:

  1. Clone the repository:

    git clone https://github.com/your-username/todo-app.git
  2. Navigate to the project folder:

    cd todo-app
  3. Install dependencies:

    npm install
  4. Configure Supabase and Clerk:

    • Set up your Supabase instance and Clerk account.
    • Create a .env file with the necessary environment variables (Supabase URL, API key, Clerk credentials).
  5. Run the application:

    npm run dev
  6. Open your browser and visit http://localhost:3000 to view the app.


🎨 Customization

The app's design is built with Tailwind CSS, allowing for quick and easy style changes. You can also use Shadcn components to further customize the UI.

For translations, modify or add new languages in the src/i18n folder.


📊 Visualizing Data

We use Chart.js for visualizing task completion rates. You can find and modify chart components in the src/components/charts folder to customize data representation.


🤝 Contributing

Contributions, issues, and feature requests are welcome!

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

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors