Das Semesterprojekt verbindet eine React-Webanwendung mit einer PHP-REST-API und einer MariaDB-/MySQL-Datenbank. Fachlich umfasst das Projekt zwei Businessprozesse:
- Kritische Ressourcen überwachen und Nachschub auslösen
- Überschüssige Ressourcen an externe Unternehmen verkaufen
Für die Abschlusspräsentation steht gemäß dem Gesprächsprotokoll vom 24.06.2026 der erste Prozess im Mittelpunkt:
Use Case → Businessprozess → BPMN-Modell → Stored Procedures → Applikationsbezug
| Bereich | Aktueller Stand |
|---|---|
| Frontend | React 19, TypeScript 6, Vite 8 |
| Oberfläche | Tailwind CSS 3, Material UI, Recharts |
| Backend | PHP mit PDO und JSON-REST-API |
| Datenbank | MariaDB/MySQL; Oracle-Skripte bleiben als Alt-/Alternativstand erhalten |
| Datenbanklogik | 38 SQL-Abfragen, 38 zugeordnete Stored Procedures und 2 direkte Diagrammabfragen |
| Sicherheit | Login, Session und CSRF-Token |
Voraussetzung für Vite 8 ist Node.js ^20.19.0 oder >=22.12.0.
git clone https://github.com/CyZeTLC/Mars-Colony-Project.git
cd Mars-Colony-Project
npm install
npm run devFür die vollständige Anwendung werden zusätzlich PHP, eine konfigurierte Datenbankverbindung in api/config.inc.php und ein MariaDB-/MySQL-Schema benötigt.
sql/build/mysql.sql: vollständiger Import mit Beispieldaten undBESTANDSBEWEGUNGsql/build/marskolonie_mysql.sql: aus dem Datenmodell erzeugtes MySQL-Schemasql/build/resourceGraphsMigration.sql: Migration und Demo-Verbrauchsdaten für eine bestehende Datenbanksql/queries/: lesbare Abfragen nachbp1,bp2,sharedundgeneralsql/storedProcedure/: passende Stored-Procedure-Varianten
Die zwei Abfragen für die BP1-Diagramme liegen direkt unter sql/. Der aktuelle API-Hauptpfad get_sql_result erwartet dagegen importierte Stored Procedures und ruft sie per CALL auf; ältere SQL-Datei-Ausführung bleibt über get_sql_result_old beziehungsweise einzelne Alt-Aktionen im Backend vorhanden.
Basis-URL:
GET /api/restApi.php?action={action}
X-CSRF-Token: {token}
generate_csrf benötigt keinen Token. Alle anderen Aktionen erwarten ihn im HTTP-Header X-CSRF-Token; ein Token ist 24 Stunden gültig.
Wichtiger Implementierungsstand: get_sql_result ruft im aktuellen Repository Stored Procedures über PDO per CALL auf. Der Parameter file=getNachschubanforderungen.sql wird dabei zum Procedure-Namen getNachschubanforderungen() reduziert. Eine feste Procedure-Whitelist ist nicht umgesetzt; ältere SQL-Datei-Pfade existieren weiterhin als Fallback bzw. Altstand.
Der Einstiegspunkt ist documentation/README.md. Meeting Minutes unter documentation/Gesprächsprotokoll/ sind die Referenz für Projektumfang, technische Leitlinie und Präsentationsfokus.
npm run type-check
npm run lint
npm run buildSiehe LICENSE.txt und NOTICE.txt.
