El Chato

Aus TBZ_-_Wiki
Wechseln zu:Navigation, Suche

Auftrag

Der Auftrag besteht darin, in einer Gruppe, eine mobile Applikation in 5 Tagen zu realisieren. Die Applikation muss auf einem Smartphone oder einem Tablet lauffähig sein. Dabei soll methodisch vorgegangen werden und eine Dokumentation erstellt werden. Aus der Dokumentation soll man klar herauslesen können, was das Ziel der Applikation ist, wie die einzelnen GUI's aussehen und welche Erfahrungen man während der Gruppenarbeit gemacht hat.

Beschreibungen

Beschreibung El Chato

Die Idee hinter El Chato ist, eine App zu programmieren, mit welcher Benutzer anderen Benutzern willkürlich schreiben können. Sprich die App besitzt einen Ortungsdienst, welcher den Standort der User ausfindig macht und diese auf einer Karte anzeigt. Die angezeigten Benutzer können zu den Kontakten hinzugefügt werden und so kann mit ihnen gechattet werden. Die App soll normale Laien ansprechen, welche sich langweilen und Unterhaltung suchen.


Beschreibung El Notizblocko

El Notizblocko ist eine Notizapp. Der User kann Notizen erstellen, bearbeiten und die erstellten Notizen ansehen. Die App war unser Notfallplan, im Falle wenn die Chat-App nicht funktioniere. Mittels einer Loginüberprüfung wird die App sicherer gemacht. Die Daten sind so vor unbefugten zugriffen geschützt und können nicht von allen gelesen werden. Die App ist ideal für Single-Jugendliche im Alter von 12-20.

GUI-Konzept

GUI Konzept 1.png GUI Konzept 2.png

Storyboards

Storyboard El Chato

Screenname Screenbeschreibung Entwurf
Loginscreen Der erste Screen, welchen den User erwartet ist ein Loginscreen. Bei diesem kann man sich anmelden oder es kann die Option, um einen neuen Account zu erstellen, gewählt werden. Elchatologin.PNG
Registrieren Falls noch kein Account vorhanden ist, kann ein neuer Account in der Registrierungsview erstellt werden. Elchatoregistr.PNG
Chats Nach dem erfolgreichen einloggen, wird eine View mit allen Chats angezeigt Elchatochats.PNG
Chat Wenn ein Chat ausgewählt wird, erscheint eine neue View, bei welcher der Chatverlauf mit der Person ersichtlich wird Elchatochat.PNG
Add Der User kann mittels Plus auf der Chats-View auf die Add-View gelangen. Auf dieser View kann er mit einer anderen Person einen neuen Chat starten. Elchatoadd.PNG
Map Der Benutzer kann mittels einer Map mit Leuten in der nähe chatten. Elchatomap.PNG

Storyboard El Notizblocko

Screenname Screenbeschreibung Entwurf
Loginscreen Der erste Screen, welchen den User erwartet ist ein Loginscreen. Bei diesem kann man sich anmelden oder es kann die Option, um einen neuen Account zu erstellen, gewählt werden. Elnotizblocko login.png
Registrieren Falls noch kein Account vorhanden ist, kann ein neuer Account in der Registrierungsview erstellt werden. Elnotizblocko registration.png
Übersicht Eine Übersicht aller Notizen Elnotizblocko uebersicht.png
Add Bei Add kann man den Titel der Notiz angeben Elnotizblocko new.png
Edit Screen beim bearbeiten der Notiz. Elnotizblocko edit.png

El Chato

Das Ziel unseres Teams war es eine kleine App zur Kommunikation untereinander zu bauen. Im Laufe der Zeit merkten wir jedoch, dass dies einige Knackpunkte beinhaltete und als solches nicht ganz einfach umzusetzen war.

Unserem grössten Problem kamen wir über den Weg, als wir mit der implementation des Chats begannen. Zu beginn lief alles gut, mit der Zeit merkten wir, dass der Server als solches nicht funktionierte und wir hatten ein Problem. Als wir das bemerkten versuchten wir parallel zu unserer Chat-App noch eine kleine Notfall-App zu bauen, damit wir nicht mit leeren Händen vor der Klasse stehen.

Die Serverseitige implementation funktionierte nicht einwandfrei, daher bauten wir die App kurzerhand auf eine lokale App um. Sprich, der User kann lokal auf einem Gerät mit anderen Leuten schreiben.

Screenshots El Chato

Screenname Screenbeschreibung Entwurf
Loginscreen Der erste Screen ist wie geplant der Loginscreen Elchato1.PNG
Registrieren Falls noch kein Account vorhanden ist, kann ein neuer Account in der Registrierungsview erstellt werden. Elchato6.PNG
Chats Nach dem erfolgreichen einloggen, wird eine View mit allen Chats angezeigt Elchato2.PNG
Chat Wenn ein Chat ausgewählt wird, erscheint eine neue View, bei welcher der Chatverlauf mit der Person ersichtlich wird Elchato3.PNG
Chat Wenn ein Chat ausgewählt wird, erscheint eine neue View, bei welcher der Chatverlauf mit der Person ersichtlich wird Elchato4.PNG
Add Der User kann mittels Plus auf der Chats-View auf die Add-View gelangen. Auf dieser View kann er mit einer anderen Person einen neuen Chat starten. Elchato5.PNG
Map Da uns die Zeit fehlte, konnten wir diesen Screen nicht implementieren

El Notizblocko

Wie schon erwähnt haben wir eine Notfallapp: El Notizblocko gebaut. Bei dieser App hatten wir unsere Schwierigkeiten mit dem Abspeichern von Files. Sprich jedes mal beim Speichern wurden die Zeilenumbrüche gelöscht. Diese App bauten wir aber parallel zur Chat-App und daher waren die Fehler nicht so schwerwiegend und wichtig.

Screenshots El Notizblocko

Screenname Screenbeschreibung Entwurf
Loginscreen Der erste Screen ist wie geplant der Loginscreen Note3.PNG
Registrieren Falls noch kein Account vorhanden ist, kann ein neuer Account in der Registrierungsview erstellt werden. Note4.PNG
Notizen Nach dem erfolgreichen einloggen, wird eine View mit allen Notizen angezeigt Note2.PNG
Notiz Wenn eine Notiz ausgewählt wird, erscheint eine neue View, bei welcher die bisherige gespeicherte / neue Notiz ersichtlich wird Note.PNG
Add Der User kann mittels Plus auf der Add seite eine neue Notiz hinzufügen Notiz1.PNG

Use Cases

Use Case Chat

UseCases.PNG

Use Case Notizblock

Use Case Notizblock.jpg

DB-Konzept

Zu Begin des Projekts dachten wir uns ein DB-Konzept für den Chat aus. In der DB sollten alle Logindaten und Chatdaten gespeichert sein. Hier eine Grafik zu unseren Überlegungen:

DB ElChato.png


Nachdem wir jedoch an der App arbeiteten, merkten wir, dass eine DB ein Overkill wäre und über das Ziel hinaus laufen würde. Daher entschlossen wir uns die Android Shared Preferences zu verwenden, welche uns alle DB funktionen lokal ermöglichen.

Testfall-Matrix

Testfälle Chat

Testfall Beispiel/Erwarteter Output Ok?
Kann sich der User einloggen? Ja Ja
Kann sich der User regisrtieren? Ja Ja
Werden alle Chats des Benutzers angezeigt? Ja Nein
Werden numerische Nachrichten angezeigt? 131224 Ja
Werden alphanumerischen Nachrichten gezeigt? 7hi5 is 4n 3x4mpl3. Ja
Werden die User des Chatrooms benachrichtigt, wenn neue Nachrichten erscheinen? Ja Nein
Werden alten Nachrichten wieder im Chatroom angezeigt? Ja Ja
Kann der User andere User adden? Ja Nein

Testfälle Notizblock

Testfall Beispiel/Erwarteter Output Ok?
Kann sich der User einloggen? Ja Ja
Kann sich der User registrieren? Ja Ja
Werden alle Notizen des Benutzers angezeigt? Ja Ja
Kann der User neue Notizen erstellen? Ja Ja
Kann der User Notizen bearbeiten? Ja Ja
Kann der User Änderungen speichern? Ja Ja

Arbeitsaufteilung

Dani Lutziger: Chatclient, Registration, Loginseite, Chatseite, Addseite, Dokumentation, Notizblock
Daniel Medimorec: Chatclient, Chatliste, Dokumentation, Noteseite(Notizblock)
Simon Hardmeier: Chatserver, Dokumentation
Michael Elyes: Chatserver, Dokumentation

Beobachtungen

Zu Beginn des Projekts konnten wir uns gegen all unseren Erwartungen gut strukturieren. Dies, obwohl wir noch nie als Team zusammen gearbeitet hatten. Teils hatten wir kleine Probleme bei der Aufgabeneinteilung, da wir manche Aufgaben zu einfach oder zu schwer eingestuft haben. Nachdem diese aber gelöst wurden, ging es steil bergauf. Die Arbeit im Team genauso wie die Kommunikation wurde besser und steigerte sich. Ausschlaggebend dafür waren diverse Informationsaustausche (persönlich / via Teamspeak) und eine Standortbesprechung, welche wir durchführten. Bei diesen Informationsaustauschen besprachen wir woran wir gerade arbeiteten und wo unsere Probleme waren. Bei diesen Besprechungen konnte sofort erkannt werden, wer wo Anstand und wie ihm geholfen werden konnte. Bei der Standortbesprechung haben wir uns über das TBZ-Wiki mit der Dokumentation der einzelnen Schitte auf dem Laufenden gehalten.

Alles in allem sind wir jedoch sehr zufrieden mit unserer Einzel- und Teamarbeit. Was wir bei einem nächsten Projekt jedoch anders machen würden, wäre uns genauer über die Anforderungen der zu bauenden Applikation zu informieren und so mögliche Schwerpunkte frühzeitig erkennen. Trotz der Schwierigkeiten und des Misserfolgs, sind wir mehrheitlich mit unserer Arbeit zufrieden und freuen uns diese den Schülern zu präsentieren.


GitHub

Link zum Master : El Chato : [1]

Link zum Branch : El Notizblocko : [2]