This project is a simple Task Manager application built using React.js. The app allows users to manage tasks by adding, editing, deleting, and filtering tasks based on their status. The application features a responsive user interface to ensure usability across devices of different screen sizes.
Deployed Link:- https://task-manager-by-prashant-malviya.netlify.app/
- Add Tasks: Users can create new tasks by providing a title, description, and status.
- Edit Tasks: Inline editing of tasks directly within the table.
- Delete Tasks: Remove tasks easily with a single click.
- Filter Tasks: Filter tasks based on their current status ("To Do", "In Progress", "Done").
- Responsive Design: Fully responsive UI for small and large screens.
- Dynamic Table: Integrated using the Tabulator library for efficient data handling.
- Notifications: Success messages for task actions using
react-hot-toast
.
- Frontend: React.js, Tailwind CSS
- Table Management: Tabulator.js
- Notifications: react-hot-toast
- Styling: Tailwind CSS for responsive design
-
Clone the repository:
git clone https://github.com/your-repo/task-manager.git
-
Navigate to the project directory:
cd task-manager
-
Install dependencies:
npm install
-
Start the development server:
npm start
The application will be accessible at http://localhost:3000
.
.
├── public
├── src
│ ├── components
│ │ ├── TaskForm.jsx # Component to add tasks
│ │ ├── TaskTable.jsx # Component to display tasks in a table
│ ├── App.jsx # Main application file
│ ├── index.js # React entry point
├── package.json
├── README.md
-
Adding Tasks:
- Enter a task title and description in the form.
- Select a status (default is "To Do").
- Click the "Add Task" button.
-
Editing Tasks:
- Double-click a cell in the "Title" or "Description" columns to edit the content.
- Change the task's status via the dropdown in the "Status" column.
-
Deleting Tasks:
- Click the cross button in the "Delete" column to remove a task.
-
Responsive Behavior:
- On small screens, the table collapses less critical columns for better usability. Collapsed data can be accessed by expanding rows.
-
Handling Inline Editing:
- Used Tabulator's
editor
functionality to enable inline editing of task fields.
- Used Tabulator's
-
Responsive Table:
- Configured Tabulator with
responsiveLayout: "collapse"
and prioritized columns using theresponsive
property.
- Configured Tabulator with
-
State Management:
- Managed tasks using React's
useState
and ensured updates are reflected dynamically in the table.
- Managed tasks using React's
-
ID Management on Deletion:
- Reassigned task IDs after deletions to maintain consistency.