Diese README fasst die wichtigsten Bereiche der projektspezifischen Dokumentation zusammen und hilft beim Einstieg in APIs, Control Panel und Checkout-Flow. Alle Detaildokumente liegen im Ordner docs/ sowie unter docs/admin/.
- Architekturüberblick
- Checkout & Warenkorb
- Control Panel (
/cp) - Landing Pages
- Öffentliche APIs
- Admin-APIs
- Seed & Initialdaten
- Nützliche Komponenten & Hooks
- Backend: Next.js API Routes (
app/api/**) mit Prisma ORM, Auth über Middleware (withAuth,withAdmin,useCSRF). - Frontend: Next.js App Router (
app/**), modulare Komponenten unterapp/components/**, Hooks unterapp/cp/hooks/**. - Docs:
- Allgemein:
docs/*.md - Admin-spezifisch:
docs/admin/api-admin-*.md - Landing Pages:
docs/checkout.md,docs/rootserver.md,docs/dedicated.md - Control Panel:
docs/cp.md
- Allgemein:
Tipp: Neue APIs immer mit passender Dokumentation ergänzen; bestehende Dateien als Vorlage nutzen.
- Dokument:
docs/checkout.md - Route:
/checkout - Kern-APIs:
/api/cart/v2/api/payments/balance/create/api/payments/mollie/create
- Features:
- Mehrstufiger Flow (
login → review → billing → payment → confirmation) useCSRF()schützt POST-Requests- Balance- vs. Mollie-Zahlungen, automatische Auswahl basierend auf Guthaben
- Mehrstufiger Flow (
- Dokument:
docs/cp.md - Struktur:
- Kundenbereiche: Account, Services, Invoices, Support, Versicherung
- Adminbereiche: Users, Services, Orders, Pricing, Proxmox, Verification, Inspections
- UI-Komponenten:
CPLayout,CPNavbar,Sidebar- Diverse Modals für Produkt-/Serviceverwaltung
- Hooks:
useApiData,usePageDatafür standardisierte Datenabfragen
| Pfad | Dokumentation | Komponenten |
|---|---|---|
/rootserver |
docs/rootserver.md |
Navbar, Header, VPSCalculator, Footer |
/dedicated |
docs/dedicated.md |
Navbar, Header, Calculator, Footer |
- Beide Seiten nutzen Konfiguratoren zur Kontaktaufnahme mit Pricing-APIs (
/api/pricing/**) und zur Übergabe an den Checkout.
Auszug häufig genutzter Dokumente:
docs/api-products.md– Produktdaten & Kalkulatoroptionendocs/api-pricing.md– Preisberechnung für VPS/Dedicateddocs/api-cart.md– Warenkorblogik (Hinzufügen, Aktualisieren, Discount)docs/api-payments.md– Mollie, Balance, Webhooksdocs/api-account.md,docs/api-addresses.md,docs/api-auth.md– User-Managementdocs/api-services.md,docs/api-tickets.md,docs/api-support.md– Services & Support
Jede Datei beschreibt Endpunkte, Request-/Response-Beispiele, Sicherheit und Frontend-Anbindung.
Die Admin-Dokumentation liegt unter docs/admin/. Relevante Beispiele:
api-admin-orders.md,api-admin-services.md,api-admin-users.mdapi-admin-invoices.md,api-admin-price-adjustments.md,api-admin-pricing.mdapi-admin-proxmox.md,api-admin-ipv4.md,api-admin-ovh.mdapi-admin-verification.md,api-admin-insurance-claims.md,api-admin-deletion-requests.mdapi-admin-settings.md,api-admin-statistics.md,api-admin-support.md,api-admin-tickets.md
Jede Datei dokumentiert:
- Endpunktübersicht
- Request-/Response-Strukturen
- Validierungen & Sicherheitschecks
- Hinweise für Frontend/Workflow
Hinweis: Admin-APIs verwenden konsequent
withAdmin(bzw.withAuthmit Rollenprüfung). Einige Routen generieren Debug-Informationen (z. B. OVH, Proxmox), die nur intern genutzt werden sollten.
- Dokument:
docs/admin/api-admin-seed.md - Endpoint:
POST /api/admin/seed - Funktion:
- Seedet Standard-Settings, Admin- und Demo-User, Beispielprodukte (VPS & Dedicated).
- Deaktiviert in produktiven Umgebungen (nur lokale/file-basierte DB).
- Schließt Prisma-Connection nach Ausführung.
- Komponenten (
app/cp/components/**):SystemAlerts,AccountBar,ServicePermissions,TableList- Modals für Produkt-/Service-/Invoice-/IP-Verwaltung
- UI-Bibliothek:
app/cp/components/ui(Button, Card, DataTable, Modal, StatCard) - Hooks:
useCSRF– CSRF-geschützte FetchesuseApiData– generische API-Abfrage mit Loading/ErrorusePageData– Server-seitige Prefetch-Unterstützung
- Neue Features: Relevante Dokumentation ergänzen (API + UI).
- Tests: Edge Cases (Balance-Zahlung, fehlende Adressen, abgelaufene Discounts) prüfen.
- Deployment: Sicherstellen, dass Admin-Endpunkte in Produktion abgesichert bleiben (keine public exposure von Debug-Infos).
Bei Fragen oder Änderungen im Code unbedingt die entsprechenden Dokumente aktualisieren – diese README dient als Einstiegspunkt und verweist auf alle Detailunterlagen.