Zum Inhalt

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

lagerverwaltung-api.zip herunterladen

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.

Zur Werkstatt