CASOON Open Source
Ein Shopsystem, dessen Backend ein einzelner Prozess ist.
Skibidoo besteht aus einem Core mit REST- und tRPC-API, einer Storefront, einem Admin-Dashboard und einer UI-Bibliothek. Diese Seite dokumentiert den Core und zeigt, wie die Teile zusammenhängen.
git clone https://github.com/casoon/skibidoo-core && cd skibidoo-core && bun install- Betriebsmodi: API, Worker, Scheduler
- 3
- BullMQ-Queues
- 7
- geplante Jobs im Scheduler
- 10
- tRPC-Router für das Admin
- 10
Was es kann
Zwei APIs für zwei Aufgaben
REST unter /api/v1 mit OpenAPI-Beschreibung für den Shop, tRPC unter /trpc mit durchgängigen Typen für das Admin.
Zahlungen, Rechnungen, Mails
Stripe und PayPal mit Webhooks, Rechnungen als PDF, E-Mails aus MJML-Vorlagen, Hintergrundverarbeitung über BullMQ.
Betrieb ohne Überraschungen
Umgebungsvariablen werden beim Start mit Zod geprüft. Health-Endpunkte, Prometheus-Metriken und OpenTelemetry-Tracing sind eingebaut.
Getrennte Repositories
Storefront, Admin, UI, gemeinsame Typen und Infrastruktur leben in eigenen Repositories und sprechen den Core über seine API an.
Schnellstart
Vom Klon zur laufenden API. Voraussetzung sind Bun sowie PostgreSQL und Redis; die Datei docker-compose.yml im Repository startet beides.
.env.examplenach.envkopieren undDATABASE_URLsowieJWT_SECRETsetzen.bun run db:migratelegt das Schema an.bun run devstartet die API auf Port 3000,GET /healthantwortet.
# Eine Codebasis, drei Rollen (Umgebungsvariable MODE)
MODE=api # REST, tRPC, Webhooks, /health, /metrics
MODE=worker # verarbeitet die BullMQ-Queues
MODE=scheduler # legt die wiederkehrenden Jobs an