Dieses Dokument dient dem Zweck, einen Überblick über die Softwareanforderungen für das Projekt “habittracking” zu schaffen.
Dieses Projekt wird als Webanwendung implementiert.
Geplante Funktionalitäten sind:
Benutzerverwaltung
Benutzer sollen sich in der Anwendung registrieren, an- und abmelden können.
Habitverwaltung
Benutzer können Habits in der Anwendung erstellen, bearbeiten und löschen.
Habitübersicht
Einem Benutzer sollen seine erstellen Habits in einer Übersicht angezeigt werden.
Habittracking
Ein Benutzer soll bei seinen Habits eintragen können, wann er diese erledigt hat.
Title | Publisher |
---|---|
Blog | Habittracker Team |
GitHub | Habittracker Team |
In den folgenden Kapiteln wird ein genereller Überblick über dieses Projekt und dessen Struktur geschaffen.
Die Vision des Projekts ist es, es Benutzern zu ermöglichen, durch die Nutzung der Webanwendung neue Gewohnheiten und Routinen aufzubauen.
Die Anwendung dient dabei als Motivation und Erinnerung, bestimmte Dinge in fest definierten Zeiträumen zu erledigen.
Technology | Use |
---|---|
Typescript | Programmiersprache |
React | Front-End Framework |
React Material UI | Bibliothek für nach Material-Design-Richtlinien designten Front-End Komponenten |
Nest.js | Back-End Framework |
prisma.js | Datenbankanbindung |
Docker | Hardwareabstraktion |
GitHub | Code-/Projektverwaltung |
Im Folgenden werden Kernfunktionalitäten aufgeführt und deren Sequenzdiagramme gezeigt.
Um es Benutzern zu ermöglichen, eigene Habits in der Anwendung zu erstellen, benötigt die Anwendung die Funktionalität, es Benutzern zu ermöglichen, einen Benutzeraccount zu registrieren.
Die Anwendung ermöglicht es Benutzern, sich anzumelden um so die eigenen Habits zu sehen.
Die Anwendung ermöglicht es Benutzern, sich abzumelden, sodass mehrere Benutzer am selben Endgerät nacheinander die Anwendung benutzen können.
Um die Anwendung sinnvoll einsetzen zu können, muss es Benutzern ermöglicht werden, eigene Habits zu erstellen.
Ein Benutzer soll die Möglichkeit bekommen, seine erstellten Habits zu bearbeiten, um eventuelle Fehler bei der initialen Erstellung zu beheben.
Es soll einem Benutzer ermöglicht werden, Habits zu löschen, wenn dieser dafür keine Tätigkeiten mehr aufnehmen möchte.
Um dem Benutzer eine zentrale Stelle für die Habitverwaltung zu bieten, soll ihm eine Übersicht über all seine Habits dargestellt werden.
Es ist geplant, die Anwendung intuitiv zu gestalten, sodass keine Anleitungen benötigt werden.
Accessibility-Features, wie Screen Reader oder angepasste Darstellung für Sehbeeiträchtige ist nicht vorgesehen.
Die Webanwendung soll 95% der Zeit erreichbar sein.
Die Webanwendung soll eine maximale Ladezeit von 2 Sekunden haben.
Die Anwendung soll mit guter Code Qualität implementiert werden, sodass die Wartbarkeit erhalten bleibt.
Die Benutzeroberfläche wird nach den Material Design Richtlinien von Google entworfen.
Es sind keine gekauften Komponenten vorhanden.
Das Userinterface ist das Frontend der Webanwendung.
Das Userinterface umfasst folgende Funktionalitäten:
Es ist nicht vorgesehen, Hardwareinterfaces zu implementieren.
Das Backend wird eine API-Spezifikation bekommen, sodass mit dieser andere Frontendanwendung implementiert werden können.
Die Kommunikation zwischen dem Frontend und dem Backend wird durch das HTTP-Protokoll realisiert.
Es sind keine Lizenzbedinungen zu beachten.
Es gibt keine Garantie auf Sicherheit der eingegebenen Daten, sowie auf Korrektheit der Anwendung.
Der Code wird nach Clean-Code vorschriften entworfen.
Die API-Schnittstelle wird durch eine gängige Definition entworfen.
Mehr Informationen und Kontakte sind im Blog vorhanden.