username | password |
---|---|
marvin | 12345 |
mark | 12345 |
fabian | 12345 |
katja | 12345 |
Im Rahmen des Projektes zum Thema Programmierung JAVA 1 & 2 haben wir uns entschieden eine Übersicht über die Spielplätze mit Vernetzungsmöglichkeiten (analog zu sozialen Netzwerken) zu Programmieren.
Allgemeine Projektübersicht
Das soziale Projekt wurde im November 2020 von
gegründet. Die Kernkompetenzen liegen im Entwickeln, Designen und Implementieren von Webseiten und Datenbankanwendungen. Das Programm richtet sich an die Mütter und Väter, die einen angenehmen Spielplatz für ihre Kinder suchen.
https://github.com/fh-erfurt/Project-Playground/blob/main/share/CODECONVENTIONS
Die Eltern können sich direkt untereinander vernetzen. Wir zeigen ihnen die Spielplätze in Erfurt, mit Angebot an Spielmöglichkeiten/Spielgeräten an.
Sie können sich an einem Spielplatz den sie besuchen wollen anmelden und so ihren Freunden anzeigen wo sie am liebsten mit den Kindern die Freizeit verbringen. Sie können Defekte an Spielgeräten und den hygienischen Zustand der Spielplätze einsehen.
Die Grobziele wurden anhand der Anforderungsanalyse ermittelt. Dies diente zur Überprüfung der S.M.A.R.T Kriterien des Projekts. Grobziele sind:
- Erstellung und Implementierung einer Übersicht von Spielplätzen und Möglichkeiten in und um Erfurt
- Erstellung und Implementierung eines Netzwerkes- und Logistikverwaltungssystems
Nicht zum Projektumfang gehören:
- Die Personalverwaltung
- Lohnbuchhaltung/Zeiterfassung
Diagramme
Besprechungsprotokolle
Java 1
1. Abgabe des Projektes
- Abgabe erfolgt über Github
- Link zum Repository an Auftraggeber Jonas Hecht übergeben
- Präsentation im GitHub hinterlegt
- Abschlusspräsentation Java 1
- Abgabe am 01.02.2021
2. Abschlusspräsentation
- Erstellen der Präsentation
- Präsentationszeit ca 10 min
- Änderungen im Projekt seit Zwischenpräsentation dokumentieren
1. Besprechung
- überarbeiten und einfügen der Use-Case-Diagramme / Aktivitätsdiagramme
1. Besprechung
- Finales Überarbeiten der Klassenfunktionen
- Überarbeitung des Exceptionhandlings
- Testfunktionen überarbeitet
- UML Diagramm auf finalen Stand angepasst
2. Dokumentation
- Erweiterung der Readme
- Lessons Learned
- UML Diagramm eingefügt
- Projektdefinition editiert
1. Projektänderung
- Umsetzung der Neuen Konzepte
- Erweiterungen umgesetzt
- Interfaces implementiert
- Vervollständigung der Klassenstruktur
2. Dokumentation
- Restaurant/Erweiterungen/Toilette/Wickeltisch/Sitzgelegenheiten
- Interfaces implementiert
- SpielplatzTest/ErweiterungTest zu Testklassen hinzugefügt
1. Projektänderung
- Brainstorming zur Erweiterung des Projektes
- künftiges Exceptionhandling besprochen
- Brainstorming zur Umsetzung der Dozentenvorschläge
1. Projektänderungen
- Ausbau der Funktionen
- Brainstorming Umsetzung der Tests
2. Dokumentation
- Implementierung Mailversand
- Umsetzung zugehöriger Passwortgenerator
- Brainstorming Projekterweiterungen
1. Projektänderungen
- Korrektur Codestyle
2. Zwischenpräsentation
1. Projektänderungen
- Individuelle erste Funktionen/Tests eingefügt
2. Dokumentation
- BenutzerTest/MainTest implementiert
1. Projektänderungen
- Erweiterung der Projektstruktur
- Erster Entwurf des UML-Klassendiagramms
2. Dokumentation
- Implementierung weiterer Klassen
- Admin/Benutzer hinzugefügt
3. Klassendiagramm
1. Projektänderungen
- Aufbau der groben Projektstruktur
2. Dokumentation
- Erste Implementierung der Klassen
- Geraet/GeraeteStatus/Profil/Main/Spielplatz/Standort/Status
3. Zwischenpräsentation
1. Brainstorm Klassendiagramm
- Brainstorming für Klassendiagramm mit Whiteboard
- Erste Überlegungen zum Projekt
- Projektname/Funktionen/Projektumfang
Java 2
1. Projektänderungen
- Abschließende Einsicht und Korrektur der Dokumentation
- Aktualisierung der Diagramme
1. Projektänderungen
- Überarbeitung der Datenbankeinträge
- Implementierung der Freundesliste (Freunde hinzufügen, Anzeige der Freunde, Anzeige des Spielplatzes der Nutzer)
- Designanpassungen der hinzugekommenen Features
1. Projektänderungen
- Login + Profilübersicht eingefügt
- Spielplatzsuche implementiert und an Design angepasst
- Designanpassungen und Änderungen in der Navbar
1. Projektänderungen
- Datenbankabfragen angepasst
- Designanpassungen und einfügen des Bilderkarussels
2. Zwischenpräsentation
1. Projektänderungen
- Bilder der Spielplätze hinzugefügt
- Controller und Ansichten erstellt
- Vorbereitung der ersten Ansichten
1. Projektänderungen
- Repositorys hinzugefügt
- Anpassung der Datenbank
- erste Testdaten in DB eingetragen
1. Projektänderungen
- Änderungen der Passwortklassen
- DB Klassen überarbeitet und Verbindung hergestellt
1. Projektänderungen
- Spielplatz Repository geändert
- Erste Tests des neuen Branch
2. Zwischenpräsentation
1. Änderung der Struktur
- Spring - Datenbank vorbereitet
- Lombok hinzugefügt
- Anpassungen in der Projektstruktur / Ordnerstruktur
Lessons Learned
Java 1
-
4 Teammitglieder zu koordinieren gestaltete sich anfangs schwierig, wurde aber im laufe des Projektes immer besser
-
Umgang mit Versionskontrolle
-
Umgang mit testgetreibener Entwicklung
-
PlantUML eignete sich gut zum entwerfen eines Klassendiagrammes
-
das Umdenken von datenbankbasiertem Logikaufbau auf klassenbasierte Logik
-
Die Tests helfen bei der Programmierung sowie bei der Kontrolle der Änderungen
-
Umgang mit Java
- Exceptionhandling
- Vererbung
- Interfaces
- Enums
- Testklassen
- Javadocs
-
Nachtschichten können auch Spaß machen!
Java 2
- 4 Teammitglieder zu koodinieren gestaltete sich bis zum Schluss schwierig
- Am Ende hat auch der letzte den Umgang mit der Versionskontrolle verinnerlicht
- Primefaces bietet solide Struktur, Verfeinerung gestaltet sich jedoch schwierig
- Über Design und Style lässt sich streiten
Programme
Weiterer Ausblick
"Nach der Arbeit ist vor der Arbeit", oder "ein Projekt endet nie". Das Projekt kann weiter fortgesetzt werden und die Gedanken für die Weiterführung sind bereits da. Nach dem Backend, aus dem Teilprojekt Java 1, wurde das Frontend unseres Projektes an den Mann, oder besser, an die Eltern gebracht. Folgende Punkte sind zur Realisierung geplant. Umsetzung ausstehend, Änderungen möglich und warscheinlich.
- Umsetzung der Registrierung und das damit verbundene Login (aus der DB) steht noch aus
- Umsetzung der Nutzer- und Rollenverwaltung steht noch aus
- Wechsel des MVC Modells zu einem getrennten Frontend und Backend
- Testbetrieb
- Code verfeinern, falls möglich
- denkbar wäre eine Karte zu implementieren, um die geographische Lage der Spielplätze visuell ansprechender darzustellen
Lizenz
Dieses Projekt ist unter der MIT-Lizenz lizenziert. Weitere Informationen finden Sie in der Datei LIZENZ