Giter Site home page Giter Site logo

splitbill's People

Contributors

andreasknoepfle avatar schmidie avatar

Watchers

 avatar  avatar

splitbill's Issues

Aktueller Kostenstand eines Ereignisses

Benuter meldet sich im System an
Benutzer navigiert über Ereignisliste zu einem Ereignis an dem er teilnimmt
Benutzer sieht seine bisherigen Ausgaben
Benutzer sieht Gesamtausgaben
Benutzer sieht seine aktuelle vorläufige Abrechnung

Entfernen eines Ereignis

Benutzer meldet sich im System an
Benutzer navigiert über Ereignisliste zu seinem Ereignis
Benutzer wählt eine Aktion "Entfernen" für einen Erreignis
Benutzer druckt auf ein OK Button in einem "popup message box" um seine Aktion zu Bestätigen

Ausgewähltes Ereignis wird aus der Ereignisliste entfernt und in den Papierkorb des Erstellers gelegt

Registration

User navigiert zur Registrierungsseite
User findet Registrierungsformular mit Benutzername, Email und Passwort
User wählt einen Benutzernamen, der nicht vergeben ist
User gibt gültige Email-Addresse ein
User wählt ein Passwort
Passwort muss zweimal eingegeben werden
User gibt Zahlungsinformationen an
User sendet Formular ab
User bekommt per Mail ein Bestätigung der erfolgreichen Registration
User kann sich einloggen

Extensions:

Benutzername vergeben, oder Email-Addresse ungültigen Formates, oder Passwörter stimmen nicht überein
Nutzer bekommt eine Meldung diesbezüglich
das Absenden des Formulars hat kein Effekt
Aktivierungslink verschicken

Meine zu zahlenden Beträge einsehen

  • Nutzer muss angemeldet sein
  • Nutzer navigiert zum gewünschten Ereignis (welches den Status „abrechnen“ hat)

    Ausgabe der offenen Beträge
    Optionen zur Anzeige der eventl. Zahlungsinformationen, oder den Betrag als beglichen markieren

Betrag als beglichen markieren

  • Nutzer muss angemeldet sein
  • Nutzer navigiert zum gewünschten Ereignis (welches den Status „abrechnen“ hat)
  • Nutzer markiert einen seiner offenen, zu zahlenden Beträge als beglichen

    Der gewählte Kontoverwalter/Nutzer wird benachrichtigt

Edieren eines Ereignis

Benutzer meldet sich im System an
Benutzer navigiert über Ereignisliste zu einem Ereignis
Benutzer wählt eine Aktion "Bearbeiten" für einen Ereignis
Benutzer editiert beliebeige Felder und speichert seine Änderungen mit dem Druck auf einen "Speichern" Button

Alle Änderungen werden im System gespeichert

Abrechnung eines Ereignisses

Benutzer meldet sich im System an
Benutzer navigiert zu dem ausgewählten Ereignis
Benutzer bekommt eine Ausgabenübersicht zu seinem Ereignis
Benutzer bestätigt die Korrektheit der Ausgaben und klickt auf "Abrechnen"
Das Ereignis wird abgeschlossen, es können keine Kosten mehr angemeldet werden
Alle Teilnehmer des Ereignisses bekommen eine Mail, dass sie für dieses Ereignis den Betrag zahlen müssen oder eine Zahlung erhalten.

Rechnungen einsehen

Benuter meldet sich im System an
Benutzer navigiert über Ereignisliste zu einem Ereignis an dem er teilnimmt
Benutzer über die Kostenpunkte Bilder der Rechnungen abrufen (falls verfügbar)

Login Usecase

  1. Das System zeigt den Logindialog an.
  2. Der Benutzer trägt seinen Benutzernamen sowie das Passwort in die Textfelder ein.
  3. Der Benutzer bestätigt seine Eingaben.
  4. Ferner wird geprüft, ob der eingegebene Benutzername existiert und das eingegebene Passwort dazu stimmt.
    Weiteres: Das System erkennt, dass der Benutzername nicht korrekt ist oder das Passwort nicht mit dem Benutzernamen übereinstimmt.In diesen Fällen wird eine Fehlermeldung mit dem Hinweis, dass der Benutzername oder das Passwort nicht korrekt eingegeben wurde, angezeigt. Weiter mit 2.Schritt.

Benutzer kommentiert ein Ereignis

Hintergrund: Rückfragen und Absprachen hinsichtlich der Abrechnung sollten öffentlich einsehbar sein. Deshalb ist es sinnvoll eine Kommentarfunktion an jedes Ereignis anzuhängen. Die Kommentare sollten einfach flach nacheinander folgen, wie beispielsweise "Facebook Kommentare" bei einer Veranstaltung.
Main Success Szenario:

Benutzer ist eingeloggt oder loggt sich ein
... navigiert zu einem Ereignis auf das er Zugriff hat
... klickt auf "Kommentiere/Rückfrage stellen" und wird zum Kommentarfeld navigiert
... kommentiert im Formular das Ereignis und klickt auf Senden

Der eingegebene Text erscheint als Kommentar des Ereignisses

Extension Points optional:
Es kann verboten sein Kommentare zu hinterlassen
Ein Benutzer kann vom Kommentare-Verfassen ausgeschlossen sein
Kommentare sollen gelöscht werden können

Betrag als eingegangen markieren

  • Nutzer muss angemeldet sein
  • Nutzer navigiert zum gewünschten Ereignis (welches den Status „abrechnen“ hat) 2. Nutzer markiert den offenen, zu erhaltenden Betrag als eingegangen

Allgemein

  • Alle Eingaben werden validiert
  • Mailversand nach Möglichkeit
  • Kosteneinreicher sind nur für den Ereigniseigentümer sichtbar

Benutzer tritt "Ereignis" bei

Hintergrund ist, dass Ereignisse nur zwischen Benutzern abgerechnet werden können, die diesem Ereigbnis zugeordnet sind:
Main Success:

Benutzer ist eingeloggt oder loggt sich ein

... verfügt über Code/spezifische URL und ruft diese/n auf

... muss entscheiden ob er diesem Eregnis zugeordnet werden möchte [Ja]

... gelangt auf die Ereignisübersicht/Postenübersicht des Ereignisses

Extension Points:

Benutzer entscheidet sich für nein bei der Frage nach dem Beitritt
... soll (z.B. weil er ein Kind ist) "anders" abgerechnet werden, zum Beispiel mit einem geringeren Anteil an der Gesamtsumme (was Auswirkungen auf die Anteile nicht-ermäßigter Ereignisteilnehmer hat)

Zuzahlende Beträge eines Ereignisses einsehen

  • Nutzer muss angemeldet und „Ersteller“ des Ereignisses sein
  • Nutzer navigiert zum gewünschten Ereignis (welches den Status „abrechnen“ hat)

    Ausgabe der offenen, beglichenen und eingegangen Beträge (Ein- und Ausgaben) und der damit verbundenen Nutzer
    (optional) Möglichkeit ein Nutzer zu kontaktieren

Kostenpunkt bzw. Posten zu Ereignis hinzufügen

Benuter meldet sich im System an
Benutzer navigiert über seine Ereignisliste zu einem Ereignis an dem er teilgenommen hat
(Benutzer klickt auf Posten hinzufügen, falls das Formular nicht ohnehin schon auf der Seite sichtbar ist)
Benutzer gibt in Textfeld Namen des Posten an
Benutzer gibt in anderem Feld Kosten an
Je nach Belegpflicht muss Rechnungsscan hochgeladen werden
Benutzer klickt auf Posten hinzufügen
Der offene Posten wird dem Ereignis hinzugefügt

Ereignisverlauf ansehen

Benutzer meldet sich im System an

Benutzer navigiert zum gewünschten Ereignis

In der Historie kann der Nutzer nun ablesen, was die letzten Änderungen beim Ereignis waren (z.B. Neuer Kostenpunkt, neuer User, ...)

Gesamtstatistik

Statistik über Gesamtsumme der geteilten Kosten wird auf der Startseite ausgegeben (als teaser)

Oberflächensprache ändern

  1. Nutzer wählt eine der verfügbaren Sprachen (Deutsch/Englisch)

    Seite wird in der gewählten Sprache neu geladen
    Die gewählte Sprache bleibt während der Sitzung aktiv
    Ist der Nutzer eingeloggt, wird die gewählte Sprache als Standard
    im Profil gespeichert

Erstellung eines neuen Ereignis

Benutzer meldet sich im System an
Benutzer wählt die Name, Ort und Zeitpunkt des Ereignis
Benutzer kann Zahlungsmodalitäten festlegen
Benutzer legt Belegpflicht fest
Benutzer definiert die möglichen Teilnehmer (siehe X)
Benutzer bestätigt das Erstellen mit dem Druck auf einen Ereignis erstellen Button
Das neu erstellt Ereignis befindet sich nun in der Liste der aktiven Ereignisse

Kostenpunkt bzw. Posten bearbeiten/löschen

Der Teilnehmer hat einen Posten erstellt und möchte ihn nach der Erstellung ändern/löschen (z.B. falscher Preis oder falsches Ereignis, Rechnung hinzufügen...)

Benutzer meldet sich an
Benutzer navigiert über Ereignisliste zu einem Ereignis
Benutzer öffnet dortige Postenliste

Sofern das Ereignis noch nicht abgerechnet wurde) Bei den Posten die der Nutzer erstellt hat, sind "bearbeiten" und "löschen" Buttons (Der Ersteller des Ereignisses darf bei allen Posten jeweils ablehnen)

Nutzer klickt "löschen": Nachdem die Aktion bestätigt wurde (Popup...) wird der Posten gelöscht
Nutzer klickt "bearbeiten": Das selbe Formular, was der Benutzer bei der Erstellung ausgefüllt hat, erscheint. Nun kann er die vorausgefüllten Werte ändern. Bei einem Klick auf den "Speichern-Button" wird der Posten geändert

Benutzer wird zur Postenliste weitergeleitet

Extensions:

Validierung und Fehlermeldungen wie bei "Posten zu Ereignis hinzufügen"
zu kurzer/gar kein Titel
invalider Preis

Meine zu erhaltenden Beträge einsehen

  • Nutzer muss angemeldet sein
  • Nutzer navigiert zum gewünschten Ereignis (welches den Status „abrechnen“ hat)

    Ausgabe der offenen Beträge
    Optionen den „Schuldner“ zu kontaktieren, oder den Betrag als eingegangen markieren

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.