TodoList App Description
Hey there! This application is created as a part of assignment for FrontEnd I dont know Anything about Vue js but tried my best to showcase my skills in terms of developing and styling the application in Reactjs
Features:
- Add, edit, and delete tasks.
- Each task has a title, description, creation date, and a status (you know, whether it's done or not).
Tech Stack:
- React hooks like useState and useEffect for managing state and side effects.
- Axios for talking to the backend server.
How It Works:
-
State Management:
- I'm using React hooks to keep track of tasks, the new task I'm adding, the one I'm editing, and the text I'm editing.
-
Fetching Tasks:
- When the app starts, it talks to the server using useEffect to get the initial list of tasks.
-
Adding Tasks:
- I created a function (
handleAddTask) to add new tasks. It checks if the task isn't empty, creates a new task object, adds it to the list, and sends a POST request to the server.
- I created a function (
-
Toggling Task Status:
- There's this cool function (
handleToggleDone) that toggles if a task is done or not. It updates the list and lets the server know with a PUT request.
- There's this cool function (
-
Deleting Tasks:
- Wanna get rid of a task? No problem! There's a function (
handleDeleteTask) for that. It deletes the task locally and tells the server to forget about it with a DELETE request.
- Wanna get rid of a task? No problem! There's a function (
-
Editing Tasks:
- Editing is covered too! Use the
handleEditTaskfunction to set a task for editing. It's like a warm-up before the main event!
- Editing is covered too! Use the
-
Saving Edits:
- After editing, just hit
handleSaveEditto save those changes. It updates the list and gives the server a heads up with another PUT request.
- After editing, just hit
UI Magic:
- The app shows all tasks with their details and a checkbox for marking them done. You can also edit or delete each task.
That's about it! I know it's not super fancy, but it's a good start. I'm still learning, so any feedback is welcome!