A simple Todo List application built with Spring Boot + MySQL + Docker.
Frontend (HTML/CSS/JS) communicates with the backend API using RESTful endpoints.
- Add, update, delete tasks
- Mark task as completed/incomplete
- Store data using MySQL in Docker container
- Web interface running via Live Server on VSCode
- RESTful API built with Spring Boot + Hibernate + JPA
| Layer | Technology |
|---|---|
| Backend | Java 21, Spring Boot, Spring Web, Spring Data JPA |
| Database | MySQL (Docker container) |
| Frontend | HTML, CSS, JavaScript |
| Build Tool | Maven |
cd todo-backend
mvn spring-boot:run- Import the todo-backend/ folder as a Maven project.
- Run the main class: TodolistApplication.java.
Make sure your application.properties contains:
spring.datasource.url=jdbc:mysql://localhost:3306/tasks
spring.datasource.username=root
spring.datasource.password=123456
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect✅ The backend runs at: http://localhost:8080/api/task
- Open the todo-frontend/ folder in VSCode.
- Install the Live Server extension (if not installed).
- Right-click on index.html → choose “Open with Live Server”.
- Access the app via: http://127.0.0.1:5500/todo-frontend/index.html
📦 springboot-todolist
├── 📂 todo-backend
│ ├── src/
│ │ ├── java/ # Java source code (controllers, services, entities)
│ │ └── resources/
│ │ ├── static/ # (optional frontend assets)
│ │ ├── templates/ # (if using Thymeleaf)
│ │ └── application.properties
│ ├└── pom.xml
├── 📂 todo-frontend
│ ├── index.html
│ ├── style.css
│ └── scripts.js
└── README.md- Make sure your Docker is running before starting backend.
- Frontend and backend communicate via RESTful API on localhost