Skip to content

AzraAnimating/ProtokollDB

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ProtokollDB

Dieses Projekt ist dafür ausgelegt eine Datenbank an Gedächtnisprotokollen zur verfügung zu stellen.
Die ProtokollDB ist ein Backend gegen das mit einfachen HTTP-Requests gearbeitet werden kann.
Ein Frontend gibt es auch (bald).
Dieses Projekt ist quelloffen, damit es so vielen Leuten zu gute kommt wie möglich :)

Die Protokolldatenbank ist ein Projekt der Facschaften der Fakultät für Informatik (FSI) and der Ruhr-Universität Bochum

Bei Fragen oder Verbesserungsvorschlängen bitte gerne Issues eröffnen :)

Build-Instructions

  • Um diese Software zu bauen benötigst du die Rust-Toolchain. Die findest du ganz einfach unter https://rustup.rs/
  • Wenn du diese installiert hast, kannst du ganz einfach mit einem cargo build --release das Backend komplett zusammenbauen.
  • Für die derzeitig stabile Version nutz bitte die "main" branch.
  • Die fertige Binary ist dann unter target/release/protokolldb zu finden :)
  • Viel Spaß!

Deployment

  • Wenn du eine Binary gebaut hast, musst du nur noch die Config ausfüllen die erstellt wird, sobald du die Binary ausgeführt hast.
  • Unser Deployment sieht in etwa so aus:
[database_type.SQLLite]
file_location = "index.db"

[api]
bind_addr = "10.10.10.10"
bind_port = 8080

[authorization.OpenIdConnect]
client_id = "protokolldb"
self_root_url = "http://api.fsmed.cs-rub.de/"
token_url = "https://auth.cs-rub.de/realms/fsmed/protocol/openid-connect/token"
auth_url = "https://auth.cs-rub.de/realms/fsmed/protocol/openid-connect/auth"
revoke_url = "https://auth.cs-rub.de/realms/fsmed/protocol/openid-connect/revoke"
userinfo_url = "https://auth.cs-rub.de/realms/fsmed/protocol/openid-connect/userinfo"

[encryption]
token_encryption_secret = "ein_unglaublich_sicheres_secret"

[general]
protocol_location = "protocols/"
  • Am Ende des Tages kann diese Binary überall Laufen, wir empfehlen jedoch einen Dockercontainer zu verwenden.
  • Du hast zudem bestimmt bereits die OpenIDConnect Schnittstellen gesehen. Die sind das einzige externe, was vorhanden sein muss um diese API zu betreiben.
  • Das ist so, damit der Zugang zu den Protokollen auf Studierende beschränkt werden kann.