Skip to content

Technologie Entscheidungen

Robin Reyer edited this page Apr 14, 2023 · 10 revisions

Technologieentscheidungen

Werte

Werte die uns wichtig sind und uns lenken:

  • Anonymität: Steht bei uns an erster Stelle alle Architekturentscheidungen sollen maximale Anonymität gewährleisten
  • Sicherheit: Um Anonymität sicherzustellen muss auch die Sicherheit der Daten teil aller Entscheidungen sein
  • Open Source: Unser Code ist zu 100% Open Source und soll es auch bleiben

Frontend

  • Steffen Huels
  • Maik Kebernik

Technologieentscheidungen

  • Svelte: Empfohlene Technologie in der Vorlesung, mit der wir schon gute Erfahrungen gesammelt haben
  • SMUI: Wiederverwendung von Softwarekomponenten um Entwicklungszeit zu minimieren

Backend

  • Robin Reyer
  • Fynn Weyrich

Technologieentscheidungen

  • Opine auf Deno: Empfohlene Technologie in der Vorlesung, mit der wir schon gute Erfahrungen gesammelt haben
  • MongoDB als Datenbank: Bietet als objektrelationale Datenbank hohe Flexibilität in der Anwendung und bietet trotzdem sehr gute Unterstützung für Referenz zwischen Collections
  • MetaMask Single-Sign-On: Durch Verwendung des Metamask Single-Sign-Ons werden die Ziele Anonymität und Sicherheit erreicht. Eine öffentliche Walletadresse ist einer der anonymsten Identifier, die uns zur Verfügung stehen. Außerdem bietet ein Ethereum Wallet bereits ein generiertes Schlüsselpaar, mit dem ein RSA-Zero Knowledge Proof als Single-Sign-On Konzept implementiert werden kann. So müssen zu keinem Punkt des Authentifizierungsvorgangs persönliche Daten (z.B. Email Adressen) oder geheime Daten (z.B. Passwörter) übertragen werden.
  • Verzichten auf Unit-Tests, da der Zero-Knowledge-Proof, der für den Single-Sign-On benötigt wird, nicht außerhalb der MetaMask Extension stattfinden kann und damit nicht in Tests gemockt werden kann. Da der Nutzer für alle Funktionen der App authentifiziert sein muss, können keine Funktionen über Tests abgebildet werden. Dafür hat das Projekt des 6. Semesters über 350 automatisierte Tests mit einer Coverage > 95% im Hauptmodul

Clone this wiki locally