- Bearbeitungszeitraum: 03. 03 .20 21 – 18. 05 .20 21
- Abgabe: 17. Mai 2021, bis 18 Uhr
- Optional: Vorinstallierte Ubuntu-VM sowie Domäne werden bereitgestellt oder andere Hosting-Option
-
1. Entwickeln Sie eine Webanwendung auf Basis eines vorhandenen Webframeworks Ihrer gewählten Programmiersprache (bspw. ASP.NET MVC, Rails.js, CakePHP, Django, o.ä.)
-
2. Verbinden Sie eine Datenbank via einer ORM Komponente (bspw. Entity Framework, SQLAlchemy, Sequelize, o.ä.) und Implementieren Sie mindestens einmal die Fälle „Insert, Update, Delete, Select“
-
3. Realisieren Sie mindestens eine einfache Benutzeroberfläche für die Interaktion mit Ihrer Applikation mit einem vorhandenen CSS-Framework wie bspw. Bootstrap (MVC-Ansatz) oder eine „Single Page Application“ mit entsprechenden Datenschnittstellen.
-
4. Implementieren Sie eine Benutzerregistrierung (Felder: Name / E-Mail / Kennwort / Kennwort wiederholen) sowie einen Benutzerlogin (Name oder E-Mail und Kennwort).
-
5. Implementieren Sie eine API (SOAP oder REST) zur Kommunikation mit einem Client. Unterstützen Sie dabei mindestens den Abruf von Informationen aus Ihrer Datenbank.
Bonus: Implementieren Sie die Autorisierung via JWT und stellen Sie ein Postman Testprojekt zur VerfügungBonus: Stellen Sie zusätzlich das Updaten und Löschen von Datensätze mit Postman Testprojekt um -
6. Richten Sie einen Webserver in Ihrer Testumgebung um und sichern Sie diese mit einem „Let’s Encrypt“ Zertifikat ab. Prüfen Sie Ihre Konfiguration mit „ssllabs.com“ – es muss mindestens ein A als Bewertung erreicht werden.
Bonus: Erreichen Sie A+ mit Ihrer KonfigurationBonus: Konfigurieren Sie http/2. -
7. Ihre Website muss öffentlich erreichbar sein (Notwendiger DNS-Eintrag und Server wird gestellt)
-
8. Optimieren der Ressourcen: „Minify“ von Javascript- und CSS-Dateien; Verkleinerte Grafiken. Prüfen Sie Ihre Optimierung mit „gtmetrix.com“, erreichen Sie mindestens die Bewertung C.
Bonus: Erreichen Sie eine Bewertung „A“ -
9. Präsentation Ihres Projekts im Zeitumfang von max. 20 Minuten mit den Themen
a. Kurze Übersicht Team sowie Zeitaufwand und Verteilung auf Mitglieder
b. Welche Frameworks und Technologien haben Sie verwendet? (Skriptsprache, Frameworks, Webserver, ggf. Protokolle)
c. Kurzvorstellung des Projektes (Interaktive Vorstellung, ca. 10 Minuten)
d. Lessons Learned / Was waren die größten Probleme bei der Umsetzung?
e. Rückblick und FazitBonus: Empfehlung an andere Gruppen, bspw. Welche Tools/Komponenten haben besonders geholfen oder hatten einen Mehrwert, Welche Tipps&Tricks würden Sie an andere Gruppen weitergeben?Bonus: Verwenden Sie eine Quellcodeverwaltung -
10. Dokumentieren Sie bedeutende Stellen Ihres Quellcodes mit erklärendem Kommentartext
-
11. Kurzdokumentation
a. Kurze Übersicht Team sowie Zeitaufwand und Verteilung auf Mitglieder mit Selbsteinschätzung
b. Test-Zugangsdaten sowie Url (und weitere Informationen sofern notwendig) für die Begutachtung des Projekts
c. Screenshots der Testergebnisse von gtmetrix.com und ssllabs.com der Projektseite
d. Falls verwendet: Screenshot der Commit-Historie der Quellcodeverwaltung
- Pro Gruppe eine .zip-Datei via Upload-Link (Link wird bereitgestellt)
o Quellcodes (ohne externe Komponenten und Pakete in einem Zip-Archiv)
o Präsentation als PDF-Datei
o Dokumentation als PDF-Datei - Benennung der zip-Datei: „Gruppe_XX.zip“ (XX mit Gruppennummer ersetzen)