Skip to content

Latest commit

 

History

History
66 lines (47 loc) · 2.82 KB

README.md

File metadata and controls

66 lines (47 loc) · 2.82 KB

RefCard 03 – Spring Boot Backend + MariaDB

REST-API-Backend für die BusinessTrips-Applikation (Mitarbeitende, Business Trips, Flüge, Meetings). Teil der CI/CD-Übungssequenz RefCard 02–05 (siehe docs/future/RefCard-03-RefCard-05-own-repos.md) — dieses Repository ist RefCard 03: Spring Boot Backend mit MariaDB.

Tech-Stack

  • Java 21, Spring Boot 4.1 (Web, Data JPA)
  • MariaDB (lokal via Docker Compose) / H2 (Default, für Tests und schnellen lokalen Start)
  • Maven (Maven Wrapper, kein lokales Maven nötig)

Schnellstart

Ohne Datenbank-Setup (H2, Default)

./mvnw spring-boot:run

Startet auf Port 8080 mit einer flüchtigen In-Memory-H2-Datenbank (Daten sind nach jedem Neustart weg, werden aber automatisch neu geseedet).

Mit MariaDB (persistent, wie in Produktion)

docker compose -f docker/docker-compose.yml up -d
./mvnw spring-boot:run -Dspring-boot.run.profiles=mariadb
  • MariaDB läuft dann auf localhost:3306 (Datenbank db_biztrips, User root, Passwort bbw123)
  • phpMyAdmin ist unter http://localhost:8082 erreichbar (gleiche Zugangsdaten)
  • Die Demo-Daten werden nur beim allerersten Start eingefügt — ein Neustart der Applikation dupliziert sie nicht

Tests ausführen

./mvnw test

API

Basis-Pfad: /v1

Endpoint Beschreibung
GET /v1/trips, POST /v1/trips, GET /v1/trips/{id}, DELETE /v1/trips/{id} Business Trips
GET /v1/employees, POST /v1/employees, GET /v1/employees/{id}, PUT /v1/employees/{id}, DELETE /v1/employees/{id}, DELETE /v1/employees Mitarbeitende
GET /v1/flights, POST /v1/flights, GET /v1/flights/{id}, PUT /v1/flights/{id}, DELETE /v1/flights/{id}, DELETE /v1/flights Flüge
GET /v1/meetings, POST /v1/meetings, GET /v1/meetings/{id}, PUT /v1/meetings/{id}, DELETE /v1/meetings/{id}, DELETE /v1/meetings Meetings
POST /v1/signIn Login (Demo-User: joe / 1234)
GET /actuator/health Health-Check (Spring Boot Actuator) — prüft u. a. die Datenbankverbindung

Projektstruktur

src/main/java/ch/bbw/trips/   Applikationscode (Controller, Entities, Repositories, DTOs)
docker/docker-compose.yml     MariaDB + phpMyAdmin für die lokale Entwicklung
docs/exercises/               CI/CD-Übungen (EX-01 EC2, EX-02 Docker Hub, EX-03 ECS/RDS)
docs/reviews/                 Code-Reviews
docs/future/                  Planungsentscheidungen für RefCard 03–05

Für Studierende

Der Tag v1-start markiert den Ausgangspunkt für die Übungen in docs/exercises/ — bewusst ohne Dockerfile, .dockerignore, .github/workflows/deploy.yml und task-definition.json, da ihr genau diese Dateien in EX-01/EX-02/EX-03 selbst erstellt.