Skip to content

fh-erfurt/Project-Playground

Repository files navigation

Project Playground

alt text

CodeFactor License Docs

Login: (Java 2)

username password
marvin 12345
mark 12345
fabian 12345
katja 12345

Übersicht über die Spielplätze im Großraum Erfurt

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

Projektteam

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.

CodeConventions

https://github.com/fh-erfurt/Project-Playground/blob/main/share/CODECONVENTIONS

Möglichkeiten

Die Eltern können sich direkt untereinander vernetzen. Wir zeigen ihnen die Spielplätze in Erfurt, mit Angebot an Spielmöglichkeiten/Spielgeräten an.

Funktionsweise

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.

Anforderungsbeschreibung(Grob)

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

Abgrenzungskriterien

Nicht zum Projektumfang gehören:

- Die Personalverwaltung
- Lohnbuchhaltung/Zeiterfassung
Diagramme
Klassendiagramm

Klassendiagramm

alt text

Use-Case-Diagramme

Benutzer-Use-Case-Diagramm

alt text

Aktivitätsdiagramme

Aktivitätsdiagramm - Spielplatz Anmeldung

alt text



Besprechungsprotokolle
Java 1

Besprechung 29.01.2021


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

Besprechung 27.01.2021


1. Besprechung

  • überarbeiten und einfügen der Use-Case-Diagramme / Aktivitätsdiagramme

Besprechung 25.01.2021


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

Besprechung 23.01.2021


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

alt-text

Besprechung 20.01.2021


1. Projektänderung

  • Brainstorming zur Erweiterung des Projektes
  • künftiges Exceptionhandling besprochen
  • Brainstorming zur Umsetzung der Dozentenvorschläge

Besprechung 13.01.2021


1. Projektänderungen

  • Ausbau der Funktionen
  • Brainstorming Umsetzung der Tests

2. Dokumentation

  • Implementierung Mailversand
    • Umsetzung zugehöriger Passwortgenerator
  • Brainstorming Projekterweiterungen

alt-text

Besprechung 11.01.2020


1. Projektänderungen

  • Korrektur Codestyle

2. Zwischenpräsentation

Besprechungen 11.12. - 23.12.2020


1. Projektänderungen

  • Individuelle erste Funktionen/Tests eingefügt

2. Dokumentation

  • BenutzerTest/MainTest implementiert

Besprechung 10.12.2020


1. Projektänderungen

  • Erweiterung der Projektstruktur
  • Erster Entwurf des UML-Klassendiagramms

2. Dokumentation

  • Implementierung weiterer Klassen
  • Admin/Benutzer hinzugefügt

3. Klassendiagramm

Besprechung 08.12.2020


1. Projektänderungen

  • Aufbau der groben Projektstruktur

2. Dokumentation

  • Erste Implementierung der Klassen
  • Geraet/GeraeteStatus/Profil/Main/Spielplatz/Standort/Status

3. Zwischenpräsentation

Besprechung 06.11.2020


1. Brainstorm Klassendiagramm

  • Brainstorming für Klassendiagramm mit Whiteboard
  • Erste Überlegungen zum Projekt
  • Projektname/Funktionen/Projektumfang

alt text

Java 2

Besprechung 19.08.2021


1. Projektänderungen

  • Abschließende Einsicht und Korrektur der Dokumentation
  • Aktualisierung der Diagramme

Besprechung 18.08.2021


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

Besprechung 13.08.2021


1. Projektänderungen

  • Login + Profilübersicht eingefügt
  • Spielplatzsuche implementiert und an Design angepasst
  • Designanpassungen und Änderungen in der Navbar

Besprechung 12.07.2021


1. Projektänderungen

  • Datenbankabfragen angepasst
  • Designanpassungen und einfügen des Bilderkarussels

2. Zwischenpräsentation

Besprechung 22.06.2021


1. Projektänderungen

  • Bilder der Spielplätze hinzugefügt
  • Controller und Ansichten erstellt
  • Vorbereitung der ersten Ansichten

Besprechung 08.06.2021


1. Projektänderungen

  • Repositorys hinzugefügt
  • Anpassung der Datenbank
  • erste Testdaten in DB eingetragen

Besprechung 01.06.2021


1. Projektänderungen

  • Änderungen der Passwortklassen
  • DB Klassen überarbeitet und Verbindung hergestellt

Besprechung 18.05.2021


1. Projektänderungen

  • Spielplatz Repository geändert
  • Erste Tests des neuen Branch

2. Zwischenpräsentation

Besprechung 11.05.2021


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
  • IntelliJ - IDE für JAVA
  • PlantUML - Diagrammerstellung
  • drawio - Tool für die Erstellung der Diagramme / Charts / ...
  • Office - Office Programm
  • Git - Versionskontrolle
  • Discord - 1. Kommunikationsmittel
  • Watsapp - 2. Kommunikationsmittel
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