To Do App

Project Overview

Todo App is a dynamic web application designed to streamline your task management experience, allowing users to organize their tasks effortlessly. With CRUD functionality, drag-and-drop sorting, modals for detailed task views, and local storage capabilities, Todo App ensures seamless task management and productivity enhancement.

Project Inspiration

The project was inspired by the need for a CRUD app in my portfolio, the desire for a todo app with a good UI that doesn’t have a paywall, and the aspiration to create a customizable and self-hosted task management solution.

Key Features

  • CRUD Functionality: Seamlessly Create, Read, Update, and Delete tasks, ensuring flexibility and control over task management.

  • Drag and Drop Sorting: Facilitate intuitive task organization through drag-and-drop functionality (press and hold item to drag).

  • Modals: Enhance user interaction with modal windows, providing a focused view for task editing and trash handling.

  • Local Storage: Persist task data locally, ensuring seamless access and preservation of tasks across sessions.

Technologies Used

  • Languages: HTML, CSS, Typescript

  • Frameworks/Libraries: React.js, shadcn/ui, TailwindCSS, dnd kit

  • Tools: Vite, Lucide, Fontsource

Challenges Faced

  • Drag and Drop Implementation: Understanding, integrating, and fine-tuning the drag-and-drop functionality to provide a smooth user experience without compromising performance.

Key Learnings

  • CRUD Functionality: Gained proficiency in implementing Create, Read, Update, and Delete operations using React.

  • Drag and Drop: Learned to effectively use the dnd kit library for implementing drag-and-drop functionality.

  • TypeScript with React: Enhanced my understanding of utilizing TypeScript for type safety and better code management in a React application.

Conclusion and Reflection

This project was essential for learning and showcasing CRUD operations, as well as implementing advanced UI features like drag-and-drop sorting. Developing the Todo App allowed me to create a practical tool that meets the needs for flexibility, usability, and self-hosting. I look forward to expanding this project by adding more features and further refining the user experience.

Return to projects