This is a simple Task Management application that allows users to perform CRUD (Create, Read, Update, Delete) operations on tasks. The project is divided into two main components:
The backend of the application is built using Node.js and Express.js, and it provides a RESTful API for managing tasks. Here are the main functionalities of the backend:
-
Create, Read, Update, Delete (CRUD) Operations: The API supports CRUD operations for tasks. Each task has attributes like id, title, and description.
-
Validation: When creating a task, the API ensures that the task title is not empty. Validation errors are handled gracefully, and appropriate error responses are returned.
-
Database: The application uses MongoDB (or MySQL or PostgreSQL) as the database to store task data.
The frontend is built using React and provides a user-friendly interface for managing tasks. Here are the main functionalities of the frontend:
-
Task List: Users can view a list of tasks retrieved from the backend API. The list displays task titles.
-
CRUD Operations: Users can perform CRUD operations on tasks directly from the UI. They can add new tasks, edit existing tasks, and delete tasks.
-
Forms: The application includes forms for adding new tasks and editing existing tasks. Input field validation is implemented to provide feedback for any validation errors.
-
API Interaction: Axios is used to interact with the backend API, ensuring seamless communication between the frontend and backend.
-
Infinite Scroll Implementation:
This project incorporates the convenient feature of infinite scroll, ensuring a seamless and uninterrupted browsing experience as users explore the content.
Note: You can check the infinite scroll feature by logging in using the following details.
- email: [email protected]
- password: 12345
To run the application locally, follow these steps:
-
Clone the Repository: Clone this repository to your local machine.
git clone https://github.com/ttarunn/Task-Management-App
-
Backend Setup: Navigate to the backend directory and follow the instructions in the README.md file to set up and run the backend server.
-
Frontend Setup: Navigate to the frontend directory and follow the instructions in the README.md file to set up and run the frontend application.
To access the Advanced Todo Application, follow these steps:
-
First, open the server link by clicking here. Please note that it may take a few minutes for the server to fetch the data.
-
Wait for the server to initialize, and you will see the message: {"message":"Api Working"} on your screen. Access the Live Application:
Once you see the message confirming that the API is working, you can access the live application by clicking here.
You will be redirected to the live Advanced Todo Application, where you can start using its features.
- This README provides an overview of the test cases written for the Task Management App using the Jest testing framework. Test cases are crucial for ensuring that the application functions correctly and reliably.
Before running the test cases, ensure that you have Jest installed as a development dependency. You can install it using the following command:
npm install --save-dev jest
You can run the test suite using the following command:
npm run test
This command will execute all the test cases defined in the tests directory.
The All test cases are organized into the endpoints.test.js file.
- Backend: Node.js, Express.js, MongoDB, Bcrypt, Jwt (jest for testing)
- Frontend: React, Axios
This Task Management App is a great starting point for learning full-stack web development with Node.js, Express.js, React, and a database of your choice. Feel free to customize and expand it to suit your specific project needs.
Feel free to explore and utilize the features of the Advanced Todo Application to manage your tasks efficiently.
For any questions, issues, or feedback, please reach out to me at [email protected].
Thank you for using the Advanced Todo Application!