Architecture Kata „Sicherer Taschenrechner“

 

Entwickle eine Taschenrechneranwendung, bei der einzelne Operationen nur bestimmten Benutzern zur Verfügung stehen.

Das grundsätzliche UI des Taschenrechners soll so aussehen:

Architecture Kata Sicherer Taschenrechner - Clean Code Developer Akademie

Darüber hinaus soll der Taschenrechner aber auch eine Benutzerverwaltung enthalten. Sie kann z.B. über ein Menü erreichbar sein. Mit ihr soll man Benutzer registrieren können, Benutzer können sich an- und abmelden und ihr Passwort neu vergeben.

Beim Start der Anwendung müssen sich Benutzer zuerst anmelden. [1] Falls sie ihr Passwort vergessen haben, können sie sich ein neues per Email zusenden lassen.

Nach Installation der Anwendung gibt es einen Default-Benutzer „admin“ (Passwort: „admin“), der weitere Benutzer anlegen kann.

Jeder Benutzer ist einer Rolle zugeordnet. Sie bestimmt, welche Operationen er verwenden darf. Andere sind für ihn ausgegraut.

Daten

  • Rechte: Addieren (A), Subtrahieren (S), Multiplizieren (M), Dividieren (D), Benutzer registrieren (R)
  • Rollen: Schüler [A,S], Bachelor [A,S,M], Master [A,S,M,D] Admin [R]
  • Benutzer: Email, Passwort (nur als Hash speichern), Rolle

[1] Als Benutzername wird der zuletzt benutzte vorgeschlagen.

en_USEnglish