---
# System prepended metadata

title: Projekt 4

---

# Projekt 4

## Was/Wer haben wir bisher gemacht?
### SQL Parser [Tom, Tobias, Leo, Leon]
-> Weitere Informationen auf https://odbc-web.hyrune.de/

* Identifikation des QueryTypes [Tobias, Leo, Leon, Tom]
* Strings Austauschen [Tobias, Tom]
* Where-Bedingungen auflösen [Tobias, Leo, Tom]
* Spaltennamen und Werte lesen [Tobias, Leo, Tom]
* Order By spaltenname lesen [Tom]
### World Api [Tom]
* Interaktion mit der Minecraft Welt für typische Datenbankoperationen
### DevOps / CI [Finn]
* Minecraft Server aufsetzen
* Maven Projekt aufsetzen
* Maven Tasks aufsetzen
* Webserver aufgesetzt
* Restserver mit dem Start des Minecraft Server verbunden
* Loggingservice eingerichtet

### REST API Server  [Finn, Tom, Leo]
Die REST API kann momentan die REST Anfragen annehmen und gibt dann die entsprechenden Daten als JSON aus.
* Login Management API
* SQL Run & Validate API
* Metrics API
* Session und
* User Management
    * Password SHA256 Salted Hash für Passwortspeicherung
### Webapp [Finn, Tom, Leo, Tobias, Leon]
Aktuell kann man sich einloggen und man findet bereits eine rudimentäre Dokumentation.
Sobald man eingeloggt ist, darf man die SQL-Konsole öffnen, in welcher man nach der Dokumentation SlimSQL ausführen kann. Admin Accounts haben zudem die Berechtigung, auf die Authorisierungstabelle zuzugreifen. Danach wird die Response in Tabellenform darunter angezheigt und eine Meldung kommt zurück, wie lange das Ausführen des Befehls gedauert hat. Außerdem gibt es eine Sofortvalidierung, welche eine erklärende Fehlermeldung zurückgibt, wenn beim Tippen das eingetragende SlimSQL fehlerhaft ist.
### Doc  [Tom]
Die Dokumentation beschreibt SlimSQL und seine Befehle sowie Eigenheiten.
### Handler [Tom]
Der Handler bildet die Verbindung zwischen der WorldAPI und Parser. DIeser wird von der REST-API benutzt, um SQL auszuführen und zu validieren.

## Was müssen wir noch machen? 

- [x] Website muss noch poliert werden
- [ ] JavaDoc im code
- [x] Order by muss noch asc /desc unterstützen
- [ ] Delete Optimierung
- [ ] Dokumentation um select/insert into/update/delete erweitern