This is a React-based task management application that allows users to create, filter, search, and manage tasks. The app supports adding new tasks with attributes like title, description, due date, priority, and status. It also provides features to edit, delete, filter, and search tasks using an intuitive interface with support for both list and grid views.
- Add, edit, and delete tasks
- Search tasks by title or description
- Filter tasks by priority and status
- List and grid view options
- Tasks are saved to
localStoragefor persistence - Responsive and user-friendly interface
Before running this app, ensure you have the following installed:
-
Clone the repository:
git clone https://github.com/Augnik03/TaskTodo.git cd TaskTodo -
Install dependencies:
npm install
-
Run the application:
npm start
The application will start and be available at
http://localhost:3000/.
- App.tsx: The main component that handles task creation, search, filters, and views.
- TaskItem.tsx: Displays individual tasks with options to edit or delete.
- TaskCard.tsx: Displays tasks in a card format for grid view.
- Popover.tsx: A popover component used for showing filters.
- Checkbox.tsx: A reusable checkbox component for filter options.
- Card, Input, Button, etc.: Custom UI components for consistent styling.
-
Creating Tasks:
- Enter a title, due date, description, select priority, and status, and then click the "Add Task" button.
- The task will be added to the task list and displayed in either list or grid view, depending on the selected mode.
-
Editing Tasks:
- Click the edit icon on a task to modify its details.
- After making changes, save the task by clicking the "Save" button.
-
Deleting Tasks:
- Click the delete icon on any task to remove it from the list.
-
Searching Tasks:
- Use the search bar at the top to filter tasks by title or description.
-
Filtering Tasks:
- Click the "Filters" button to filter tasks by priority and status.
-
View Modes:
- Toggle between list and grid views using the options above the task list.
- TailwindCSS: The app uses TailwindCSS for responsive design and utility classes.
- Lucide Icons: Icons for actions like search, filter, calendar, etc., are provided by Lucide-React.
The app uses localStorage to persist tasks. This means tasks will remain available even after refreshing or closing the browser. When a task is added, edited, or deleted, the changes are automatically saved to localStorage.
You can extend or modify the task structure by updating the Task interface in App.tsx. Add more fields like "Tags," "Assignees," or other properties depending on your project requirements.
Feel free to fork the repository and submit pull requests. Any contributions to improve the app are welcome!
Enjoy managing your tasks efficiently with Tasky!