Die Dokumentation nutzt Docusaurus 2 um die Inhalte schöner darzustellen. Die Website wird automatisch mit vercel gebaut und ist hier zu finden: https://ss23-kba-project.vercel.app.
Die Dokumentation kann aber auch ganz einfach lokal gestartet werden. Als erstes müssen alle dependencies installiert werden mit:
$ yarn
und danach kann die Website mit
$ yarn start
in der Entwicklungsumgebung gestartet werden.
Um das backend zu starten, müssen zu erst folgende Programme installiert werden: nodejs, docker und Taskfile. Letzteres ist optional und verbessert lediglich die Entwicklungsumgebung. Möchte man dies nicht extra installieren, kann man sich das Kommando einfach aus der entsprechenden Taskfile.yml
kopieren und manuell in die Konsole packen.
Danach kann man mit cd backend
in das backend Verzeichnis navigieren und alle dependencies installieren mit yarn
.
Nun muss man einmalig die Datenbank mittels docker erstellen. Dafür wurde bereits ein Skript hinterlegt: task backend -- up
.
Jetzt muss die frisch erstelle Datenbank noch migriert werden. Dafür im backend
Verzeichnis einfach yarn turbo init
in die Konsole geben.
Die Entwicklungsumgebung des backends sollte nun bereit sein um sie mit yarn turbo dev
zu starten.
Da dies nur ein Prototyp ist, und kein richtiger Hardwareschlüssel existiert, wurde ein client
hinterlegt, welcher das Verhalten des Schlüssels imitieren soll. Dieser registriert einen Nutzer mit zufälligen Daten und autorisiert diesen im Anschluss um seine Daten aus der Datenbank auszulesen. Dieser kann einfach mit yarn client
aus dem backend/app
Verzeichnis heraus gestartet werden. Natürlich muss dabei der Server im Hintergrund laufen.
POST /auth/signup
{
"email": "string",
"username": "string",
"password": "string"
}
Request Headers:
Content-Type: "application/json"
POST /auth/signin
{
"identifier": "string",
"password": "string",
"hmac": "string"
}
Request Headers:
Content-Type: "application/json"
POST /auth/signout
Request Headers:
Authorization: "Bearer <ACCESS_TOKEN>"
POST /auth/refresh
Needs the REFRESH Cookie set by the sign in route.
GET /user
Request Headers:
Authorization: "Bearer <ACCESS_TOKEN>"