Im Rahmen der Schulungseinheiten Webprogrammierung – Serverseite – und Clientseite schlagen wir den Entwurf einer asp.net-Webanwendung für ein Informationssystem für eine Schule vor.
Der Antrag muss Folgendes enthalten:
ASP.NET Core mit MVC-Architektur (Model-View-Controller) mit Authentifizierung;
Repository-Muster;
Entity Framework Core zum Erstellen und Verwalten der gesamten Datenbank in SQL Server;
Repository auf Github.
Implementierung aller CRUDs;
Vollständiges Authentifizierungssystem (Anmeldung/Abmeldung, Registrierung neuer Benutzer, Passwortwiederherstellung per E-Mail usw.);
Erstellung von Rollen mit mindestens 4 Benutzertypen (Administrator der gesamten Plattform, Mitarbeiter, Student und anonymer Benutzer);
Verwendung von mindestens zwei Kontrollen Dritter, die nicht zwischen den Auszubildenden wiederholt werden dürfen (z. B. Synchronfusion);
Die Anwendung muss zum getesteten und präsentierten Zeitpunkt funktionsfähig und online sein;
Die Anwendung darf unter keinen Umständen platzen oder Entwicklungsfehlerbildschirme anzeigen und muss alle Ansichten erstellen, um Fehler und Konflikte in Cruds zu verwalten.
Ursprüngliches, an das Projekt angepasstes Frontend-System.
Implementierung eines Studentenmoduls, in das alle Daten eingefügt und bearbeitet werden.
Implementierung eines Klassenmoduls und seiner Themen.
Implementierung eines Notes-Moduls.
Implementierung des Abfragemoduls für Schüler, Klassen und Noten.
Der Systemadministrator verwaltet lediglich andere Benutzer und erstellt Konten für sie, damit diese später auf die Plattform zugreifen können. Außerdem werden Kurse und Fächer zur Verfügung gestellt.
Bitte beachten Sie, dass während der Kontoerstellung alle im vorherigen Punkt erstellten Benutzer zunächst eine E-Mail erhalten, in der sie ihr Passwort ändern müssen.
Es muss außerdem ein Mitarbeiterbenutzer vorhanden sein, der den Kurs erstellt und die jeweils verfügbaren Themen auswählt. Dieser Benutzertyp ist auch für die Eingabe der Schüler und aller Noten verantwortlich.
Schließlich wird es Studierende geben, die nicht nur ihr Profil ändern können, sondern auch ihre Noten und ihren Status (bestanden/nicht bestanden) in einem bestimmten Fach überprüfen können.
Anonyme Benutzer können nur die verfügbaren Kurse und Kurse sowie die darin enthaltenen Fächer einsehen.
Funktionalität | Admin | Mitarbeiter | Student | Anonym |
---|---|---|---|---|
Login | X | X | X | |
Erstellen Sie Konten und fügen Sie andere Benutzer hinzu | X | |||
Kurs CRUD | X | |||
CRUD der Disziplinen / ufcds | X | X | ||
CRUD der Schüler und Noten | X | |||
Profil ändern | X | X | X | |
Passwort wiederherstellen | X | X | X | |
Beachten Sie die Notizen | X | |||
Konsultieren Sie Ihre Notizen | X | |||
Verfügbare Kurse und Fächer anzeigen | X |
Jedem Nutzer, mit Ausnahme anonymer Nutzer, muss die Möglichkeit gegeben werden, ein Profilfoto zu haben.
Für Studierende ist dieses Foto obligatorisch und unterscheidet sich von dem ggf. vorhandenen Profilfoto.
Bei der Authentifizierung sollte der Administrator sofort zu einem Dashboard weitergeleitet werden, in dem von Mitarbeitern gestartete Benachrichtigungen angezeigt werden, die mögliche Probleme mit der Plattform melden, beispielsweise das Fehlen eines dafür erforderlichen Kurses oder Fachs.
Alle Studierenden verfügen außerdem über ein Feld mit Abwesenheiten pro Fach, das es ihnen nach Festlegung eines Prozentsatzes durch den Administrator ermöglicht, den Status „ausgeschlossen“ aufgrund von Abwesenheiten in demselben Fach zu erhalten.
Es muss darauf geachtet werden, dass das Löschen und Aktualisieren nicht kaskadiert erfolgt und eine Kommunikation zwischen verschiedenen Benutzern erforderlich ist.
Außerdem muss eine Web-API erstellt und veröffentlicht werden, die alle Schüler in eine angeforderte Klasse schickt.
Anwendung aller oben beschriebenen Mindestfunktionalitäten – 15 Werte
Wöchentliche Commits (jeden Montag, während der Trainingszeit, ab 19.06.) – 2 Punkte
Zusätzliche Funktionen – 3 Werte
Für jeden Tag nach Ablauf der Lieferfrist wird 1 Betrag abgezogen.
Lieferfrist – 15.09.2023
Die Präsentation wird später geplant.