Dokumentation: API Erweiterung Changelog hinzugefügt
This commit is contained in:
@@ -0,0 +1,125 @@
|
||||
# Backend API Erweiterung - Changelog
|
||||
|
||||
**Datum:** 7. Mai 2026
|
||||
**Commit:** 0f8475c
|
||||
**Autor:** Peter (OpenClaw)
|
||||
|
||||
## Neue API-Endpunkte
|
||||
|
||||
### Dashboard (`/api/dashboard`)
|
||||
| Methode | Endpoint | Beschreibung |
|
||||
|---------|----------|--------------|
|
||||
| GET | `/summary` | Übersicht Einnahmen, Ausgaben, Kredite, Stunden |
|
||||
| GET | `/cashflow` | Monatlicher Cashflow (6 Monate) |
|
||||
| GET | `/tax-preview` | Steuer-Vorschau für aktuelles Jahr |
|
||||
|
||||
### Customers (`/api/customers`)
|
||||
| Methode | Endpoint | Beschreibung |
|
||||
|---------|----------|--------------|
|
||||
| GET | `/` | Alle Kunden (mit Suche) |
|
||||
| GET | `/:id` | Einzelner Kunde mit Rechnungen |
|
||||
| POST | `/` | Kunde erstellen |
|
||||
| PUT | `/:id` | Kunde aktualisieren |
|
||||
| DELETE | `/:id` | Kunde löschen |
|
||||
|
||||
### Invoices (`/api/invoices`)
|
||||
| Methode | Endpoint | Beschreibung |
|
||||
|---------|----------|--------------|
|
||||
| GET | `/` | Alle Rechnungen (mit Filter) |
|
||||
| GET | `/:id` | Einzelne Rechnung mit Zahlungen |
|
||||
| POST | `/` | Rechnung erstellen |
|
||||
| PUT | `/:id` | Rechnung aktualisieren |
|
||||
| DELETE | `/:id` | Rechnung löschen |
|
||||
| POST | `/:id/payment` | Zahlung hinzufügen |
|
||||
|
||||
## Datenbank-Schema Erweiterungen
|
||||
|
||||
### Neue Tabellen
|
||||
```sql
|
||||
CREATE TABLE kunden (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
name VARCHAR(255) NOT NULL UNIQUE,
|
||||
adresse TEXT,
|
||||
plz VARCHAR(10),
|
||||
ort VARCHAR(100),
|
||||
email VARCHAR(255),
|
||||
telefon VARCHAR(50),
|
||||
notizen TEXT,
|
||||
created_at TIMESTAMP DEFAULT NOW(),
|
||||
updated_at TIMESTAMP DEFAULT NOW()
|
||||
);
|
||||
|
||||
CREATE TABLE rechnung_zahlungen (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
rechnung_id UUID REFERENCES rechnungen(id) ON DELETE CASCADE,
|
||||
betrag DECIMAL(10,2) NOT NULL,
|
||||
datum DATE NOT NULL DEFAULT CURRENT_DATE,
|
||||
methode VARCHAR(50),
|
||||
notizen TEXT,
|
||||
created_at TIMESTAMP DEFAULT NOW()
|
||||
);
|
||||
|
||||
-- Weitere Tabellen für Nebenkosten:
|
||||
-- mieter, mietvertraege, objektkosten, vorauszahlungen
|
||||
-- nebenkostenabrechnungen, abrechnungspositionen
|
||||
```
|
||||
|
||||
### Erweiterte Tabellen
|
||||
- `objekte` - hinzugefügt: `plz`, `ort`, `wohnflaeche_qm`, `bemerkung`
|
||||
|
||||
## Technische Details
|
||||
|
||||
### Server.js Änderungen
|
||||
```javascript
|
||||
// Neue Routen importieren
|
||||
const dashboardRoutes = require('./routes/dashboard');
|
||||
const customersRoutes = require('./routes/customers');
|
||||
const invoicesRoutes = require('./routes/invoices');
|
||||
|
||||
// Routen registrieren
|
||||
app.use('/api/dashboard', dashboardRoutes);
|
||||
app.use('/api/customers', customersRoutes);
|
||||
app.use('/api/invoices', invoicesRoutes);
|
||||
```
|
||||
|
||||
### Abhängigkeiten
|
||||
- Keine neuen npm-Pakete
|
||||
- Nutzt bestehende PostgreSQL-Verbindung
|
||||
- Kompatibel mit bestehendem Frontend
|
||||
|
||||
## Deployment
|
||||
|
||||
```bash
|
||||
# Auf CT141:
|
||||
cd /root/buchhaltungs-app/backend
|
||||
docker build -t buchhaltung-gitea_backend:latest .
|
||||
docker restart backend
|
||||
```
|
||||
|
||||
## Frontend Integration
|
||||
|
||||
Die neuen Endpunkte entsprechen den im Frontend erwarteten URLs:
|
||||
- Dashboard Übersicht ✓
|
||||
- Kundenliste ✓
|
||||
- Rechnungsliste ✓
|
||||
- Nebenkosten-Module ✓
|
||||
|
||||
## Testing
|
||||
|
||||
```bash
|
||||
# Login
|
||||
curl -X POST http://192.168.0.141/api/auth/login \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"username":"admin","password":"admin123"}'
|
||||
|
||||
# Dashboard
|
||||
curl http://192.168.0.141/api/dashboard/summary
|
||||
|
||||
# Alle Endpunkte
|
||||
curl http://192.168.0.141/api/customers
|
||||
curl http://192.168.0.141/api/invoices
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
*Deploy-Status: ✅ Erfolgreich auf CT141 (192.168.0.141)*
|
||||
Reference in New Issue
Block a user