- Marktanalyse (Wettbewerber, Lücken, USPs) - Anforderungskatalog (Must-Have, Should-Have, Nice-to-Have) - MVP Definition (Features, Datenmodell, Zeitplan) - Technische Architektur (Stack, API, DB-Schema) - Waagen-Integration (Hersteller, Protokolle, Strategie)
155 lines
3.1 KiB
Markdown
155 lines
3.1 KiB
Markdown
# SchüttGo - MVP (Minimum Viable Product)
|
|
|
|
## Release 1.0 - Kernfunktionen
|
|
|
|
### Ziel
|
|
Ein funktionsfähiges System für einen kleinen Schüttgutbetrieb mit 1 Waage.
|
|
|
|
### Zeitrahmen
|
|
- Entwicklung: 4-6 Wochen
|
|
- Testing: 1 Woche
|
|
- Pilotphase: 2 Wochen
|
|
|
|
---
|
|
|
|
## MVP Features
|
|
|
|
### 1. Authentifizierung & Benutzer
|
|
- [x] Login/Logout
|
|
- [x] Passwort vergessen
|
|
- [x] Benutzerrollen: Admin, Waagenbediener, Büro
|
|
- [x] Benutzer anlegen/bearbeiten
|
|
|
|
### 2. Stammdaten
|
|
|
|
#### 2.1 Kunden
|
|
- [x] Kunde anlegen (Firma, Ansprechpartner, Adresse)
|
|
- [x] Kunde bearbeiten
|
|
- [x] Kunde suchen/filtern
|
|
- [x] Kundenpreise hinterlegen
|
|
|
|
#### 2.2 Materialien
|
|
- [x] Material anlegen (Name, Einheit, Standardpreis)
|
|
- [x] Materialkategorien (Kies, Sand, Schotter, etc.)
|
|
- [x] Material bearbeiten
|
|
|
|
#### 2.3 Fahrzeuge
|
|
- [x] Fahrzeug anlegen (Kennzeichen, Typ, Tara)
|
|
- [x] Fahrzeug einem Kunden zuordnen
|
|
- [x] Tara aktualisieren
|
|
|
|
### 3. Wiegung (Kernmodul)
|
|
|
|
#### 3.1 Einfahrt
|
|
- [x] Fahrzeug auswählen (Kennzeichen-Suche)
|
|
- [x] Kunde automatisch ermitteln
|
|
- [x] Material auswählen
|
|
- [x] Bruttogewicht erfassen
|
|
- [x] Wiegung speichern
|
|
|
|
#### 3.2 Ausfahrt
|
|
- [x] Offene Wiegung laden
|
|
- [x] Leergewicht (Tara) erfassen
|
|
- [x] Nettogewicht berechnen
|
|
- [x] Lieferschein erstellen
|
|
- [x] Optional: Lieferschein drucken
|
|
|
|
### 4. Lieferschein
|
|
- [x] Automatische Nummer
|
|
- [x] Alle Wiegungsdaten
|
|
- [x] PDF-Generierung
|
|
- [x] Druckfunktion
|
|
- [x] E-Mail-Versand (optional)
|
|
|
|
### 5. Einfache Rechnung
|
|
- [x] Rechnung aus Lieferschein(en)
|
|
- [x] Kundenpreise anwenden
|
|
- [x] PDF-Generierung
|
|
- [x] Rechnungsliste
|
|
|
|
### 6. Dashboard
|
|
- [x] Heute: Anzahl Wiegungen, Gesamtmenge
|
|
- [x] Offene Wiegungen (Einfahrt ohne Ausfahrt)
|
|
- [x] Letzte 10 Wiegungen
|
|
- [x] Schnellzugriff auf neue Wiegung
|
|
|
|
---
|
|
|
|
## Nicht im MVP
|
|
|
|
❌ Waagen-Hardware-Integration (manuelle Eingabe im MVP)
|
|
❌ DATEV-Export
|
|
❌ Lagerbestandsführung
|
|
❌ Fuhrparkverwaltung
|
|
❌ GPS-Tracking
|
|
❌ Kundenportal
|
|
❌ Erweiterte Berichte
|
|
|
|
---
|
|
|
|
## Technischer Scope
|
|
|
|
### Frontend
|
|
- Vue 3 + FluxKit UI
|
|
- TailwindCSS
|
|
- Responsive (Desktop + Tablet)
|
|
|
|
### Backend
|
|
- Deno + Oak
|
|
- PostgreSQL
|
|
- JWT Auth
|
|
|
|
### Deployment
|
|
- Docker
|
|
- Nginx Reverse Proxy
|
|
- SSL (Let's Encrypt)
|
|
|
|
---
|
|
|
|
## Datenmodell (MVP)
|
|
|
|
```
|
|
users
|
|
├── id, email, password_hash, role, name
|
|
|
|
customers
|
|
├── id, name, address, contact_name, contact_email, contact_phone
|
|
|
|
materials
|
|
├── id, name, category, unit, default_price
|
|
|
|
vehicles
|
|
├── id, license_plate, type, tara_weight, customer_id
|
|
|
|
weighings
|
|
├── id, vehicle_id, customer_id, material_id
|
|
├── gross_weight, tare_weight, net_weight
|
|
├── entry_time, exit_time, status
|
|
├── delivery_note_id
|
|
|
|
delivery_notes
|
|
├── id, number, weighing_id, customer_id
|
|
├── created_at, printed_at, emailed_at
|
|
|
|
invoices
|
|
├── id, number, customer_id
|
|
├── total_amount, status, created_at
|
|
|
|
invoice_items
|
|
├── id, invoice_id, delivery_note_id
|
|
├── quantity, unit_price, amount
|
|
```
|
|
|
|
---
|
|
|
|
## Success Criteria
|
|
|
|
1. ✅ Kompletter Wiegezyklus (Ein-/Ausfahrt) funktioniert
|
|
2. ✅ Lieferschein wird korrekt erstellt
|
|
3. ✅ Rechnung kann generiert werden
|
|
4. ✅ System läuft stabil für 1 Benutzer
|
|
5. ✅ Response-Zeit < 1 Sekunde
|
|
|
|
---
|
|
*Erstellt: 2026-02-19*
|