• Teaser Home

    Clean Code Developer School

    Saubere Softwareentwicklung üben – regelmäßig, fokussiert, individuell, angeleitet

Sammelbestellung

Architecture Kata „Sammelbestellung“

Entwickle einen Web-Anwendung, mit der sich Interessenten für eine Sammelbestellung zusammenfinden können.

Die Anwendung soll Angebote verwalten, z.B. „Bestellung von Bio Cranberries in 500g Tüten“. Solche Angebote gelten entweder bis zu einem bestimmten Ablaufdatum (z.B. 15.1.2014) und/oder bis zu einer gewissen Bestellmengenschwelle (z.B. 50 Tüten). Ist die Bestellmenge vor dem Datum erreicht, wird bestellt. Ist das Datum erreicht, wird auch bestellt, sofern eine Mindestbestellmenge erreicht ist.

Die Mindestbestellmenge sichert einen maximalen Preis zu. Die Bestellmengenschwelle verheißt einen minimalen Preis.

Interessenten tragen sich mit einer Wunschmenge bei einem Angebot ein. Es wird angezeigt, wie viel Zeit und wie viel Menge noch bis zu einer Bestellung ist, z.B. „Noch 10 Tage oder 27 Tüten bis zur Bestellung. Die Mindestbestellmenge wurde bereits erreicht.“

Solange die Sammlung läuft, können sich Interessenten eintragen und auch wieder austragen.

Wenn die Sammlung durch Ablaufdatum bzw. erreichen der Schwellmenge abgeschlossen ist, werden die Interessenten per Email informiert. Die Nachricht kann positiv sein, weil bestellt wird (inkl. der erreichten Gesamtbestellmenge). Oder negativ, weil die Mindestbestellmenge nicht erreicht wurde.

Die Abrechnung erfolgt per Rechnung; mit einem Eintrag in ein Angebot verpflichten sich Interessenten im Bestellfall zu zahlen. Die Daten der Interessenten werden im Bestellfall per Email als CSV-Datei an den Anbieter zur Weiterverarbeitung geschickt.

Interessenten können sich bei Angeboten erst eintragen, wenn sie sich beim System angemeldet haben. Anbieter kann jeder Benutzer werden. Jeder Benutzer ist also potenziell Anbieter mehrerer Angebote und Interessent in mehreren Angeboten.

Falls ein Angebot vor Ablauf geschlossen wird, werden ebenfalls alle Interessenten per Email benachrichtigt.

Daten

  • Angebot: Überschrift, Beschreibung [1], Ablaufdatum, Mindestmenge, Schwellmenge, Mengeneinheit (z.B. Stück, Liter), Email des Anbieters
  • Interessent: Email, Rechnungsanschrift, Lieferanschrift, Bestellmenge
  • Benutzer: Benutzername, Passwort, Email Anbieter und Interessenten können nur Benutzer der Anwendung werden.

Variation

Angebote können nach Ablauf wieder aufgelegt werden. D.h. ein Angebot hat eine stabile URL über Auflagen hinweg, z.B. www.sammelbestellungen.de/cranberries500g, und eine pro Auflage, z.B. www.sammelbestellungen.de/cranberries500g/1234.

Zu jedem Angebot wird eine Liste der Auflagen mit ihren Abschlussergebnis angezeigt. Nur in der aktuellen Auflage können sich Interessenten eintragen.

Benutzer können sich bei Angeboten zur Benachrichtigung registrieren. Dann bekommen sie eine Email, sobald das Angebot neu aufgelegt wird.


[1] Nähere Angaben zu Preisstaffeln können in der Beschreibung untergebracht werden. Dort kann natürlich auch ein Link zum Lieferanten stehen.