Skibidoov0.1.0

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
MITVersion 0.1.0Pre-Release
Betriebsmodi: API, Worker, Scheduler
3
BullMQ-Queues
7
geplante Jobs im Scheduler
10
tRPC-Router für das Admin
10

Was es kann

  1. 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.

  2. Zahlungen, Rechnungen, Mails

    Stripe und PayPal mit Webhooks, Rechnungen als PDF, E-Mails aus MJML-Vorlagen, Hintergrundverarbeitung über BullMQ.

  3. Betrieb ohne Überraschungen

    Umgebungsvariablen werden beim Start mit Zod geprüft. Health-Endpunkte, Prometheus-Metriken und OpenTelemetry-Tracing sind eingebaut.

  4. 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.

  1. .env.example nach .env kopieren und DATABASE_URL sowie JWT_SECRET setzen.
  2. bun run db:migrate legt das Schema an.
  3. bun run dev startet die API auf Port 3000, GET /health antwortet.
.envBetriebsmodi
# 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