Skip to content

Repository files navigation

HSBI-Logo

Mars Logistik Verwaltung (ALS)

Datenbankgestützte Verwaltung einer simulierten Marskolonie

Projektfokus

Das Semesterprojekt verbindet eine React-Webanwendung mit einer PHP-REST-API und einer MariaDB-/MySQL-Datenbank. Fachlich umfasst das Projekt zwei Businessprozesse:

  1. Kritische Ressourcen überwachen und Nachschub auslösen
  2. Ü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

Technologie

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

Lokaler Start

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 dev

Für die vollständige Anwendung werden zusätzlich PHP, eine konfigurierte Datenbankverbindung in api/config.inc.php und ein MariaDB-/MySQL-Schema benötigt.

Datenbank

  • sql/build/mysql.sql: vollständiger Import mit Beispieldaten und BESTANDSBEWEGUNG
  • sql/build/marskolonie_mysql.sql: aus dem Datenmodell erzeugtes MySQL-Schema
  • sql/build/resourceGraphsMigration.sql: Migration und Demo-Verbrauchsdaten für eine bestehende Datenbank
  • sql/queries/: lesbare Abfragen nach bp1, bp2, shared und general
  • sql/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.

API

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.

Dokumentation

Der Einstiegspunkt ist documentation/README.md. Meeting Minutes unter documentation/Gesprächsprotokoll/ sind die Referenz für Projektumfang, technische Leitlinie und Präsentationsfokus.

Qualitätssicherung

npm run type-check
npm run lint
npm run build

Lizenz

Siehe LICENSE.txt und NOTICE.txt.

About

Mars-Colony proejct for "Datenbanken-1" module

Topics

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages