Dieses Projekt dient als praktisches Lerninstrument für die Java-Backend-Entwicklung mit Fokus auf Software-Architektur und objektorientierte Prinzipien.
Das System nutzt moderne Best Practices zur Verwaltung eines Fitnessstudios:
- Komposition:
GymundPersonbesitzen eigeneBankAccount-Instanzen, was eine flexible Kontoverwaltung ermöglicht. - Finanzlogik: Konsequente Nutzung von
BigDecimalin der KlasseBankAccount, um Rundungsfehler bei Transaktionen zu vermeiden. - Polymorphismus: Eine klare Hierarchie für Mitarbeiter (
Trainer,Janitor) mit spezifischen Implementierungen der Arbeitslogik.
- Mitgliedermanagement: Verwaltung von Verträgen und automatisiertes Einziehen von Gebühren (
chargeMemberships). - Personalverwaltung: Abwicklung von Gehaltszahlungen (
paySalaries) und Rollenverteilung. - Fehlerbehandlung: Implementierung fachspezifischer Exceptions wie
InsufficientFundsException.
- Sprache: Java.
- Datenstrukturen:
ArrayListzur Verwaltung von Mitgliedern und Mitarbeitern. - Design: UML-basiertes Klassendesign.
🧱 Core Domain (MUSS rein)
1️⃣ Members • Mitgliedschaftstyp • Eintritt / Austritt • Aktiv / inaktiv • Monatsbeitrag
👉 Basis fuer alles andere.
⸻
2️⃣ Gym Assets (realistisch, aber simpel)
Geraete • Name • Typ (Cardio, Kraft, etc.) • Wartungskosten • Kapazitaet (wie viele Personen gleichzeitig)
👉 Keine Detailmodelle, nur Management-Level.
⸻
3️⃣ Kurse (nicht Trainingsplaene!)
Warum Kurse? • Standard im Gym • Management-relevant • Einfach modellierbar
Kurs • Name • Uhrzeit • Kapazitaet • Trainer • Kosten
⸻
📊 Simulation & Analyse (das ist das USP)
4️⃣ Auslastung (nicht in Echtzeit!) • Peak Hours (z. B. 17–20 Uhr) • Durchschnittliche Auslastung • Kurse beeinflussen Peaks
👉 Simuliert, nicht gemessen.
⸻
5️⃣ Finanzielle Simulation • Einnahmen (Members) • Fixkosten (Miete, Personal) • Variable Kosten (Wartung, Kurse)
👉 Monatsweise.
⸻
6️⃣ Beantworte damit echte Management-Fragen
App muss diese Fragen beantworten: • Lohnt sich ein neuer Kurs? • Brauche ich mehr Geraete? • Ist mein Gym ueberfuellt zu Peak-Zeiten? • Was passiert, wenn ich Premium teurer mache? • Wann verliere ich Members?
Wenn ein Feature keine dieser Fragen beantwortet → raus.
⸻
7️⃣ End-Vision (1 Satz)
„Ich simuliere den Betrieb eines Fitnessstudios auf Management-Ebene und analysiere, wie Entscheidungen die Wirtschaftlichkeit und Auslastung beeinflussen.“
⸻
8️⃣ Konkrete Roadmap
Phase 1 – Minimal Vision (2–3 Wochen) • Members • Mitgliedschaften • Monatsabrechnung • GymStatus
Phase 2 – Betrieb • Geraete • Kurse • Kosten
Phase 3 – Simulation • Peak Hours • Auslastung • Szenarien („Was waere wenn?“)
