https://github.com/thamiraweerakoon/todo-web-application
https://github.com/thamiraweerakoon/todo-web-application
docker fullstack java mysql spring-boot todo-app webapp
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/thamiraweerakoon/todo-web-application
- Owner: ThamiraWeerakoon
- Created: 2025-07-03T01:26:14.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-07-05T19:05:25.000Z (12 months ago)
- Last Synced: 2025-09-06T22:41:43.759Z (10 months ago)
- Topics: docker, fullstack, java, mysql, spring-boot, todo-app, webapp
- Language: Java
- Homepage:
- Size: 25.4 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ๐ Todo App โ Full Stack (Java + MySQL + Docker)
A simple, modern full-stack Todo Application built with:
- ๐ง Java 17 & Spring Boot 3
- ๐ข MySQL (Dockerized)
- ๐ HTML/CSS/JS (Vanilla)
- ๐ณ Docker & Docker Compose
---
## ๐ Features
- Add and manage tasks
- Top 5 recent incomplete tasks listed
- Mark tasks as done
- REST API built with Spring Boot
- MySQL-backed persistence layer
- Fully containerized (backend + frontend + db)
---
## ๐ฆ Project Structure
```bash
todo-app/
โโโ backend/ # Spring Boot API
โโโ frontend/ # HTML/CSS/JS UI
โโโ db/ # SQL init (optional)
โโโ docker-compose.yml
โโโ README.md
โโโ .gitignore
```
---
## ๐ Setup & Run
### ๐ Prerequisites
- [Docker](https://docs.docker.com/get-docker/)
- Optional: [Java 17](https://adoptium.net/) and [Maven](https://maven.apache.org/) (for local dev)
### โถ๏ธ Run with Docker Compose
```bash
docker-compose up --build
```
Then access:
- Frontend: [http://localhost:3000](http://localhost:3000)
- API: [http://localhost:8080/api/tasks](http://localhost:8080/api/tasks)
---
## โ
API Endpoints
| Method | Endpoint | Description |
|--------|--------------------------|--------------------------|
| GET | `/api/tasks` | Get top 5 recent tasks |
| POST | `/api/tasks` | Create a new task |
| PUT | `/api/tasks/{id}/complete` | Mark task as completed |
---
## ๐งช Testing
### Run Unit & Integration Tests
If Maven is installed:
```bash
cd backend
mvn test
```
Or run tests via Docker:
```bash
docker run --rm -v "$PWD/backend":/app -w /app maven:3.9.6-eclipse-temurin-17 mvn test
```
---
## ๐ Tech Stack
- Java 17, Spring Boot
- MySQL 8
- HTML/CSS/JS
- Docker + Docker Compose
- JUnit 5, Mockito
---
## ๐ค Contributing
Pull requests welcome. For major changes, please open an issue first.
---
## ๐โโ๏ธ Author
Developed by [Thamira Weerakoon] โ [LinkedIn](https://www.linkedin.com/in/thamira-weerakoon-bb43522a4/) | [GitHub](https://github.com/ThamiraWeerakoon)