Giter Club home page Giter Club logo

sharepool-mobile's Introduction

SharePool Mobile

© Tobias Kaderle & Jan Wiesbauer

Beschreibung

Dieses Projekt stellt das Frontend für die SharePool Anwendung dar. Bei SharePool handelt es sich um eine Anwendung, die das Bilden und Instandhalten einer Fahrgemeinschaft vereinfachen soll. Generische Geldverwaltungsapps sind unserem Empfinden nach teilweise zu komplex strukturiert. Das einfache Buchen einer Fahrt umfasst zu viele Schritte als das es noch intuitiv ist. Deshalb wollten wir diesen, doch einfachen Prozess, auch in einer Applikation simpel abbilden.

Die komplette Vision für die Anwendung kann in diesem Proposal nachgelesen werden.

Flutter

Für die Umsetzung de mobilen Anwendung wurde Googles Flutter verwendet. Dies ermöglicht mit einer gemeinsamen Code-Basis Android, iOS und seit kurzem auch Web- bzw. Desktop-Apps zu entwickeln. Die Anwendung wird mittels der Programmiersprache Dart entwickelt, und kompiliert dann in nativen Swift-, bzw. Java- Code.

Wir waren mit dem Framework sehr zufrieden, da es viele Standardkomponenten bietet, und die Entwicklung durch Features wie z.b. "Hot-Reload" (Code-Änderungen werden binnen einer Sekunde am Test-Gerät aktualisiert) sehr angenehm ist.

Use-Cases

Login / Registrieren

Damit sich der Benutzer einen Account erstellen kann, bzw. sich in seinen Account einloggen kann, wird beim Start der App die Möglichkeit dazu geboten. Die eingegebenen Daten werden sowohl validiert (valide Email, Passwort-Regex, ...), und wenn sie keinen Fehler mehr enthalten, kann ein Request an den Server abgesetzt werden. Auch dort werden die Daten erneut validiert, und wenn alles passt, wird der User-Token retourniert. Dieser Token wird dann für alle anderen Requests an den Server benötigt, um den User zu authentifizieren.

login-register

Sicht des Fahrers

Ein Benutzer, der als Fahrer der Fahrgemeinschaft agiert, kann für seinen Account Touren anlegen und verwalten. Wenn er oben rechts auf das Zahnrad-Icon klickt, sieht er alle sein Fahrten. Durch einen Klick auf einen Eintrag die Bearbeitungs-Seite öffnen. Wenn er jedoch auf das Plus-Icon rechts unten klickt, kann er eine neue Fahrt anlegen.

Aus den erstellten Touren kann eine gewählt werden, deren Infos dann mittels des QR-Code angezeigt werden. Durch einen Klick auf das Lupen-Icon wird die Liste der Touren angezeigt, aus der die gewünschte ausgewählt werden kann.

driver

Sicht des Mitfahrers

Ein Mitfahrer kann durch einen Klick auf den "Scan QR-Code" Menü-Eintrag die Kamera öffnen, und einen Tour-QR-Code eines Fahrers scannen. Wenn der Code erkannt wurde, wird erst einmal ein Request an den Server abgesetzt, um die benötigten Informationen zu erhalten (welche Tour, Entfernung, Preis, Fahrer, ..), die dann in einem Dialog angezeigt werden. Der Mitfahrer kann die Infos überprüfen, und dann entweder bestätigen oder ablehnen. Wenn er auf "Ja" klickt wird die Fahrt auf dem Server bestätigt.

passenger

Einsicht der Bilanz

Nachdem ein Benutzer mehrere Fahrten absolviert hat, kann er sich auf der "Statistic"-Seite seine Bilanz ansehen. Ganz oben wird ihm seine Gesamt-Bilanz angezeigt, und darunter in einer Liste die Bilanzen gegenüber der einzelnen Benutzer. Wenn er einen User auswählt, werden auf einer neuen Seite die einzelnen Fahrten und Rückzahlungen aufgelistet. Durch einen Klick auf das Plus-Icon rechts unten können neue Rückzählungen erstellt werden.

balance

Einsicht der Analyse

Damit sich der Benutzer auch seine Analyse-Daten anzeigen lassen kann, muss er von den Bilanzen einfach nur nach links wischen, um den Tab zu wechseln. Dort sieht er Graphen, die ihm auf den Tag aufsummiert, die gefahrenen Kilometer, sowie die eingesparten Liter Treibstoff anzeigt (diese Daten werden vom Analytics-Microservice abgefragt). Die Daten können nach Datum eingeschränkt werden, und auch durch einen Klick auf de Namen in der Legende aus/eingeblendet werden.

analytics

sharepool-mobile's People

Contributors

hatboywonder avatar geanik avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.