Oracle3
Open-source trading engine and MCP server for prediction markets. Fee-aware no-arbitrage trading across related contracts, live on Kalshi, Polymarket and Solana or on paper.
Einfache, sichere und ruhige Rechnungserstellung für kleine bis mittelgroße Unternehmen
Translation pending
FinanceTypeScript · PLpgSQLGitHub @crylonblueOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Einfache, sichere und ruhige Rechnungserstellung für kleine bis mittelgroße Unternehmen.
Note: Der Brandname ist über die Umgebungsvariable
NEXT_PUBLIC_APP_NAMEkonfigurierbar.
Voraussetzungen: Docker, Supabase CLI, pnpm.
pnpm install
pnpm db:start # Postgres, Auth, REST, Storage, Studio, Mailpit in Docker
pnpm db:env # schreibt .env.local mit den Schlüsseln der lokalen Instanz
pnpm dev
Die App läuft auf http://localhost:3000. Anmelden mit dem Seed-Konto
[email protected] / Email123! — es hat Firma, Kontakte und Beispielrechnungen
(supabase/seed.sql).
Ports. Die lokale Instanz belegt bewusst 55320–55329 statt der Supabase-Standardreihe
54321–54329, damit sie neben anderen Supabase-Projekten laufen kann (siehe supabase/config.toml):
| Dienst | Port |
|---|---|
| API | 55321 |
| Postgres | 55322 |
| Studio | 55323 |
| Mailpit (Web) | 55324 |
Direktzugriff auf die Datenbank: postgresql://postgres:[email protected]:55322/postgres.
Ist einer der Ports bei dir belegt, ändere ihn in supabase/config.toml und passe
NEXT_PUBLIC_SUPABASE_URL in .env.local an.
Nützlich:
pnpm db:reset # Datenbank neu aufbauen: alle Migrationen, dann der Seed
pnpm db:stop # Container anhalten (Daten bleiben erhalten)
Mehrere Worktrees desselben Repos teilen sich diese eine Instanz — pnpm db:start meldet in
einem zweiten Worktree, dass sie schon läuft. Das ist gewollt, heißt aber: Ein db:reset wirkt
auf alle.
Dateien (PDF, XML, Logo) landen lokal im Bucket blitzrechnung von Supabase Storage, den die App
über dieselbe S3-Schnittstelle anspricht wie in Produktion Cloudflare R2. Die Werte stehen schon in
.env.local.example; die Schlüssel setzt pnpm db:env aus der laufenden Instanz ein — sie stehen
bewusst nicht im Repo. Nur der E-Mail-Versand braucht echte Zugangsdaten (AHASEND_*).
Orca. orca.yaml lässt jeden neuen Workspace scripts/orca-setup.sh ausführen: Es übernimmt
die .env.local aus dem Primary-Checkout (sonst die Vorlage) und installiert die Abhängigkeiten
mit der pnpm-Version aus packageManager in der package.json — dieselbe wie in CI und auf Vercel. Einmalig im
Primary-Checkout: pnpm db:env (und dort ergänzen, was nur dir gehört, etwa AHASEND_*). Die Datenbank startet das Skript nicht; es weist nur darauf hin, wenn sie nicht läuft.
supabase/migrations/ an (supabase link und supabase db push).env.local mit NEXT_PUBLIC_SUPABASE_URL und NEXT_PUBLIC_SUPABASE_ANON_KEY des Projekts anDie eigentliche PDF/ZUGFeRD-Generierung wird von einem separaten Service übernommen. Im MVP ist dies als TODO markiert in components/drafts/draft-editor.tsx.
Beim Finalisieren einer Rechnung:
blitzrechnung/
├── app/
│ ├── (app)/ # Geschützte Routen (erfordern Auth)
│ │ ├── drafts/ # Entwürfe
│ │ ├── invoices/ # Finalisierte Rechnungen
│ │ ├── customers/ # Kundenverwaltung
│ │ └── settings/ # Firmeneinstellungen
│ ├── login/ # Login-Seite
│ ├── signup/ # Registrierung
│ └── auth/ # Auth-Callbacks
├── components/
│ ├── drafts/ # Draft-Komponenten
│ ├── invoices/ # Invoice-Komponenten
│ ├── customers/ # Customer-Komponenten
│ └── settings/ # Settings-Komponenten
├── lib/
│ └── supabase/ # Supabase Client Utilities
├── types/ # TypeScript Types
└── supabase/
└── migrations/ # Datenbank-Migrationen
Private Projekt