A full-stack application for booking board-game spaces, built with Spring Boot (backend) and Flutter (frontend).
project/
├── bsba_be/ # Spring Boot backend (Java 21, Maven)
├── bsba_fe/ # Flutter frontend (Dart, Android / iOS)
├── Docker-compose.yml
└── README.md
| Layer | Technology |
|---|---|
| Backend | Spring Boot 4, Java 21, Maven |
| Database | PostgreSQL 16 (Docker) |
| ORM | Spring Data JPA / Hibernate |
| Frontend | Flutter (Dart), Provider |
- Docker Desktop installed and running
- Java 21+ (for running the Spring Boot app locally)
- Maven 3.9+ or use the included
mvnwwrapper
| Property | Value |
|---|---|
| Host | localhost:5432 |
| Database | mydb |
| Username | myuser |
| Password | mysecretpassword |
Run the following commands from the project root (where Docker-compose.yml lives):
# 1. Tear down any existing containers and volumes (clean slate)
docker compose down -v
# 2. Build and start the PostgreSQL container
docker compose up --buildWhat this does
down -vremoves the oldpostgres_datavolume so the database is re-initialised frombsba_be/postgres-init/.up --buildpullspostgres:16-alpine, applies init scripts, and exposes port 5432.
Leave this terminal running (or add -d to run in detached mode: docker compose up --build -d).
Open a new terminal inside bsba_be/ and run:
# Using the Maven wrapper (no local Maven installation needed)
./mvnw spring-boot:run
# Windows PowerShell
.\mvnw.cmd spring-boot:runThe backend starts on http://localhost:8080 by default.
# Stop the Spring Boot app
Ctrl + C
# Stop and remove the Docker containers (keep data)
docker compose down
# Stop and remove containers + wipe the database volume
docker compose down -vcd bsba_fe
# Install dependencies
flutter pub get
# Run on a connected device / emulator
flutter run| Command | Description |
|---|---|
docker compose up --build |
Start all services |
docker compose down |
Stop containers (data preserved) |
docker compose down -v |
Stop containers and delete volumes |
docker compose logs -f |
Stream logs |
docker ps |
List running containers |