Beispielarbeiten · Software & Web-Apps
Lagerverwaltung: Zugang, Abgang, Meldebestand, ohne negativen Bestand
Eine kleine Lager-API mit Artikeln, Buchungen und Meldebestand. Auch bei vielen gleichzeitigen Abgängen fällt der Bestand nie unter null.
Musterarbeit (Demo), kein Kundenauftrag. Gebaut als Probeaufgabe mit erfundenen Beispieldaten; die Prüfzahlen unten stammen aus dem automatischen Prüflauf und sind nicht geschönt.
Was gebaut wurde
- Artikel anlegen, Zugang und Abgang buchen, Bestand abfragen
- Meldebestand mit Warnung in der Bestandsliste
- Gleichzeitige Abgänge werden in der Datenbank gegeneinander abgesichert
Wie geprüft wurde
Automatischer Prüflauf vom 18.10.2026, aus dem Protokoll (Testdaten erfunden, Zahlen gemessen):
- 21/21 HTTP-/DB-Faelle gruen
- gleichzeitig: 10x201 15x409, Bestand danach 0
Alle Prüffälle (21 von 21 grün)
- ✓ 01 Artikel anlegen -> 201
- ✓ 02 Doppelte SKU -> 409
- ✓ 03 Neuer Artikel mit Bestand 0 steht in den Warnungen
- ✓ 04 Wareneingang 10 -> Bestand 10
- ✓ 05 Verkauf 3 -> Bestand 7
- ✓ 06 Verkauf 8 bei Bestand 7 -> 409, Bestand bleibt 7
- ✓ 07 Ueber Mindestbestand (7 > 5): keine Warnung
- ✓ 08 Mindestbestand erreicht (5) -> Warnung, Fehlmenge 0
- ✓ 09 Unterschritten (3) -> Warnung, Fehlmenge 2
- ✓ 10 Nach Wareneingang (23) Warnung weg
- ✓ 11 Gleicher Beleg nochmal -> 200 'wiederholt', Bestand unveraendert (23)
- ✓ 12 Ungueltige Eingaben -> 422 (6 Arten)
- ✓ 13 Unbekannte SKU -> 404
- ✓ 14 25 gleichzeitige Verkaeufe bei Bestand 10 -> 10x 201, 15x 409, Bestand 0
- ✓ 15 Inventur 21 statt 23 -> Korrektur -2
- ✓ 16 Journal lueckenlos (bestand danach = laufende Summe)
- ✓ 17 CSV-Export stimmt mit API ueberein
- ✓ 18 Nach Server-Neustart: Bestand noch da
- ✓ 19 DB: Bestand = Summe der Bewegungen je Artikel
- ✓ 20 DB: keine Bewegung hinterliess negativen Bestand
- ✓ 21 DB-Schranke CHECK(bestand >= 0) haelt auch an der API vorbei
Grenzen
Was diese Probe nicht abdeckt, steht hier, damit niemand mehr erwartet:
- ein Lagerort, ganze Stueckzahlen; Chargen/Seriennummern/MHD, mehrere Lager und Reservierungen waeren Erweiterungen, nicht Teil der Probe
- keine Anbindung an Shop/Warenwirtschaft (Shopify, JTL, lexoffice brauchen Zugang des Kunden)
- SQLite fuer einen Server-Prozess; mehrere Instanzen brauchen PostgreSQL
- Warnung wird abgefragt (GET /warnungen), kein Mail-/Push-Versand; Bedienoberflaeche nicht Teil der Probe
Bestandsliste als CSV
sku;name;bestand;mindestbestand;warnung
SHIRT-M;Shirt M;0;2;ja
TASSE-01;Tasse weiss;21;5;nein
So etwas für deinen Betrieb?
Beschreib kurz, was du brauchst. Du bekommst einen Festpreis, bevor ich anfange; ohne dein Ja passiert nichts.