This is a full-stack To-Do application built using React for the frontend and Spring Boot (Java) for the backend. Users can manage tasks by adding, editing, and deleting them. This project integrates both frontend and backend components to function as a complete application.
Before you begin, ensure you have the following installed:
- Java 11 or later (for Spring Boot backend)
- Node.js and npm (for React frontend)
- Maven (for managing Java dependencies)
You can download the necessary software from:
-
Clone the repository:
git clone https://github.com/Rahul-18r/To-Do.git
-
Navigate to the project directory:
cd To-Do-App
-
From the root directory:
mvn install
-
Run the backend using Maven:
mvn spring-boot:run
The Spring Boot server will start and be available at:
http://localhost:8080
-
Navigate to the frontend directory:
cd todo-app-frontend -
Install the dependencies using npm:
npm install
-
Start the React development server:
npm start
The React app will start and be available at:
http://localhost:3000
Your application should now be running with:
- Backend: http://localhost:8080
- Frontend: http://localhost:3000
The backend provides the following RESTful API endpoints:
| Method | Endpoint | Description |
|---|---|---|
| GET | /tasks |
Fetch all tasks |
| POST | /tasks |
Create a new task |
| PUT | /tasks/{id} |
Update an existing task |
| DELETE | /tasks/{id} |
Delete a task |
To-Do-App/
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── com.todo_app/
│ │ │ ├── Configuration/
│ │ │ │ └── WebConfig.java
│ │ │ ├── Controller/
│ │ │ │ └── TaskController.java
│ │ │ ├── exception/
│ │ │ │ ├── GlobalExceptionHandler.java
│ │ │ │ └── UserExceptionHandler.java
│ │ │ ├── model/
│ │ │ │ └── Task.java
│ │ │ ├── repository/
│ │ │ │ └── TaskRepository.java
│ │ │ ├── Service/
│ │ │ └── DemoApplication.java
│ │ └── resources/
│ └── test/
└── target/
todo-app-frontend/
├── public/
│ └── index.html
├── src/
│ ├── components/
│ │ ├── AddTask.js
│ │ └── TaskList.js
│ ├── services/
│ │ └── api.js
│ ├── App.js
│ ├── index.js
│ └── styles.css
├── package.json
└── package-lock.json
Created and maintained by Rahul-18r