WebDev Projekt 2019

Open Data // Cranach Kontext

Im Rahmen des Projekts sollen Inhalte, Konzepte und Techniken aus den einzelnen Veranstaltungen des Moduls Web Development im Team in einem konkreten Anwendungsfall eingesetzt und damit eingeübt als auch vertieft werden. Dabei stehen zwei Anwendungsgebiete zur Auswahl: Offene Daten aus dem Bundesministerium für Verkehr und Infrastruktur und Cranach Kontext.

Das Projekt muss im Team von zwei bis drei Teilnehmern absolviert werden. Jedes Team entwickelt zunächst zwei konkrete Projektvorschläge im Rahmen der Anwendungsgebiete. Dabei gibt es zwei grundsätzliche Ansätze: Deep Dive und Multiperspective. Bei der ersten Richtung ist die Grundidee, Inhalte, Konzepte und Techniken aus einer Veranstaltung möglichst gut, sauber und umfassend anzuwenden und so einem eher kleinen Anwendungsfall möglichst tief zu durchdringen, bzw. möglichst umfassend und professionell zu lösen. Bei der zweiten Richtung geht es darum, Ansätze und Techniken aus zwei oder mehr Veranstaltungen zu verknüpfen und anzuwenden, um so einen größeren Anwendungsfall aus mehreren Perspektiven zu bearbeiten, wobei die Durchdringung, bzw. die Tiefe der Lösung hier naturgemäß geringer sein darf als bei der vorgenannten Richtung.

Versuchen Sie einen möglichst professionellen und transparenten Workflow zu realisieren.

Anwendungsgebiet 1: Open Data

Das Bundesministeriums für Verkehr und Infrastruktur stellt mit der mCLOUD Plattformen bereit, die den offenen Zugang zu Daten des Geschäftsbereichs, den Daten und Diensten aus dem Copernicus Erdbeobachtungsprogramm und zu weiteren Daten aus den Themenfeldern des BMVI ermöglichen.

Für einen Deep Dive Ansatz könnte hier, z.B. ein Benachrichtigungsdienst konzipiert und umgesetzt werden, der einen bestimmten Bereich von Daten auf diesem Portal überwacht und Dienstnutzer, nach bestimmten Kriterien über das Vorliegen von Daten bzw. Ergänzungen oder Änderungen, informiert.

Für einen Multiperspective Ansatz könnten hier z.B. Daten aus dem Portal in ein Frontend gegeben und/oder visualisiert werden. Als zusätzliche Perspektive könnten auch Sensoren oder Aktoren zur Steuerung oder Anzeige integriert werden. Eine weitere Möglichkeit wäre die Bereitstellung eines Services für andere Dienstnehmer mit entsprechender Integration von Authentisierungs-, Authentifizierungs- und Autorisierungsmechanismen.

Anwendungsgebiet 2: Cranach Kontext

In diesem Anwendungsgebiet wird der Grundgedanke aus dem letzten Semester Screendesign aufgenommen, nämlich eine Anwendung zur Bereitstellung von zusätzlichen Informationen zu Gemälden einer Lucas Cranach Ausstellung zu realisieren.

Für einen Deep Dive Ansatz könnte hier, z.B. einer der enstandenen Entwürfe möglichst genau und gut strukturiert umgesetzt werden.

Für einen Multiperspective Ansatz könnte hier z.B. die physikalische Annäherung an ein Gemälde integriert oder andere Interaktionsmöglichkeiten über Sensoren konzipiert und implementiert werden.

Rahmenbedingungen

Abgabe-/ Präsentationstermin/ Bearbeitungszeitraum

Der Termin steht noch nicht genau fest. Er wird entweder in der zweiten Prüfungswoche, oder in der ersten Vorlesungswoche des Wintersemesters, also Anfang Oktober 2019 liegen. Somit steht ein Bearbeitungszeitraum von ca. 13 Wochen zur Verfügung.

Workload

Das Projekt hat einen Workload von 5CP, das entspricht einem studentischen Workload von 150 Stunden. Dies entspricht etwa 19 Tagen, bei einer Arbeitszeit von 8 Stunden pro Tag. Bei mehreren Teammitgliedern multipliziert sich der zur Verfügung stehende Workload entsprechend.

Beratungs- und Feedbacktermine

Während der Vorlesungsfreien Zeit werden noch einige Beratungstermine angeboten. Die Termine werden im Zeitplan zum Modul in Kürze veröffentlicht.

Arbeitsergebnis

Im Sinne des Agilen Manifests steht das Erarbeiten einer lauffähigen Software im Vordergrund. Allerdings ist Anwendung der vermittelten Arbeits- und Kollaborationstechniken auch ein wichtiger Punkt in diesem Projekt. Darunter fallen z.B.:

  • Nutzung von Git zur Versionskontrolle und Kollaboration
  • Einreichung sinnvoller Commits, ggf. Zusammenfassung von Commits
  • Nutzung von Branches
  • Verbesserung der Code Qualität durch Codereviews/ Pull Requests
  • Integration von Tests
  • Nutzung von Github Issues und Projektmanagement Werkzeugen
Im Bereich Phasen und Ergebnisse finden Sie hierzu mehr Informationen.

Dokumentation

Bitte erzeugen Sie eine kurze, professionelle und möglichst prägnante Projektbeschreibung auf der Github.io Seite Ihres Projekts. Der Prozess sollte über die Nutzung von Issues und Pull Requests ausreichend dokumentiert sein.

Die Projektbeschreibung richtet sich an alle Interessierten. Sie sollte das Vorhaben kurz, prägnant und professionell vorstellen und dabei mindestens folgende Fragen beantworten.

  • Wer ist Autor des Projekts?
  • Was ist das Projektziel?
  • Was war der Ausgangspunkt?
  • In welchem Kontext ist das Projekt angesiedelt?
  • Um welche Projektart handelt es sich (Deep Dive oder Multiperspective) und wie wird das Projekt dieser Projektart gerecht?
  • Wie nutze ich als Endnutzer das Projekt? (kleiner Leitfaden/ Tutorial)
  • Wie sieht die Roadmap des Projekts aus? Was konnte umgesetzt werden? Wie könnten Folgeprojekte aussehen?

Technische Fragen

  • Welche Technologien, Frameworks, Libs, etc. nutzt das Projekt und warum?
  • Was brauche ich, um das Projekt in meiner Umgebung zu installieren?
  • Wie installiere ich das Projekt? (Installationsanleitung)

Diskussion/ Reflexion

Verfassen Sie bitte eine prägnante und professionelle Reflexion. Diese kann Teil Ihrer github.io Seite sein, oder in einer zusätzlichen Markdown Datei hinterlegt werden. Hierbei ist das Ziel einem Fachpublikum wesentliche Herausforderungen, wichtige Aspekte und interessante Implementierungsdetails Ihres Projekts vorzustellen, z.B.

  • Welche Probleme galt es zu lösen und wie wurden sie gelöst?
  • Welche Probleme konnten nur mit einem „Dirty Hack” eliminiert werden?
  • Was wurde besonders gut oder elegant gelöst?
  • Welcher Teil hat den größten Aufwand/ die meiste Anstrengung gekostet?
  • Was hat Sie überrascht?
  • Was würden Sie eigentlich gerne noch mal refactoren?

Phasen und Ergebnisse

Projekt- & Teamfindung
04. bis 09. Juli 2019
Pro Team werden zwei konkrete Projektvorschläge verfasst und auf dieser Seite bis zum 09. Juli 2019 veröffentlicht. Hier finden Sie hier eine entsprechende [Anleitung zur Veröffentlichung](#anleitung-zur-veroeffentlichung).
Projektdiskussion & -entscheidung
11. Juli 2019
Beim Feedbacktermin werden die Vorschläge diskutiert, ggf. angepasst und final entschieden, so dass ab diesem Termin gestartet werden kann.
Abgabe Repo
23. September 2019
An diesem Tag werden Forks von den Repos gezogen, die als Basis für die Bewertung des Projekts in den Dimensionen Code, Organisation & Kollaboration dienen.
Abgabe Dokumentation
30. September 2019
An diesem Tag werden Forks von den Repos gezogen, die als Basis für die Bewertung des Projekts in den Dimensionen Code, Organisation & Kollaboration dienen.
Präsentationstag
07. Oktober 2019, 15:00 Uhr, Raum 3.216
An diesem Tag wird das Projekt öffentlich präsentiert und ausgestellt. Dafür muss ein Demonstrator bereitgestellt werden, ein Poster mit Erläuterungen zum Demonstrator und eine 10-minütige Präsentation des Projekts gehalten werden. Darüber hinaus muss eine kurze, professionelle und möglichst prägnante Projektdokumentation als Github.io Seite zur Verfügung stehen.

Projektvorschläge

All-for-One-Rentals

Carlos Bystron, Felix Günthner, Marius Hammer

Relaunch Cranach Website

Jan Koll, Shirina Löber

Erweiterte Interaktion mit den Gemälden

Dennis Sterle, Hendrik Pawlowski

Cranach QR Code / NFC Expansion

Dennis Sterle, Hendrik Pawlowski

Bildinformationen durch Bluetooth Beacons mit Mobile Device

Powerrangers, Moritz Dahlke, Joel Mai, Emre Inci

Bildinformationen durch Bilderkennung mit Mobile Device

Powerrangers, Moritz Dahlke, Joel Mai, Emre Inci

Cranach Bildergalerie als SPA PWA

Raphael Höser, Tim Missal

CDA to JSON Backend

Raphael Höser, Tim Missal

Um Ihre Projektvorschläge zu veröffentlichen müssen Sie zunächst das Veranstaltungsrepo in Ihren Account forken. Dann im Verzeichnis «_proposals/2019» eine neue Markdowndatei anlegen und diese entsprechend der Beispieldatei füllen. Danach die Änderungen in Ihrem Fork commiten und dann einen Pull Request im Veranstaltungsrepo initiieren.

Dazu gibt es hier noch ein geschmeidiges Videotutorial.