KICKPACT

KickPact

Plan 1 · Foundation

Performance-basiertes Sponsoring im Amateurfußball. Foundation läuft — Trigger-Engine, Crawler und Daten-Pipeline sind live.

Diese Seite ist nur ein Status-Dashboard. Die richtige UI (Onboarding, Vereins-Dashboard, Sponsor-Inbox) kommt in Plan 2 – 6.

System-Status

Postgres (Neon)
online
19 Tabellen, 14 Enums
Trigger-Engine
32 Tests · 97,8 % Coverage
16 Trigger-Types, alle TDD-validated
Inngest-Jobs
2 registriert
crawl-matches (cron 6h) · evaluate-match (on match/finished)

Datenbank

users
3
clubs
2
teams
2
players
0
sponsors
1
pledges
1
pledge_rules
2
matches
1
match_events
4
charges
4
invoices
0
subscriptions
1

Live-Demo · Trigger-Engine

Diese Berechnung läuft live bei jedem Page-Load

Input · Spiel

FC Test 1. Herren 3:1 SV Gegner
Halbzeit: 0:1 (von hinten zurück gekämpft)
  • 22' Müller
  • 51' Schmidt
  • 67' Maier
  • 88' Schmidt

Input · Pledge "Tante Erna"

  • 5,00 € pro Tor
  • 10,00 € pro Sieg
  • 20,00 € pro Comeback-Sieg
  • 3,00 € pro Tor von Spieler p_schmidt

Output · 7 Charges generiert

EventBetrag
51' Schmidt — goal_total5,00 €
67' Maier — goal_total5,00 €
88' Schmidt — goal_total5,00 €
Match-Level: win10,00 €
Match-Level: comeback_win20,00 €
51' Schmidt — goal_by_player3,00 €
88' Schmidt — goal_by_player3,00 €
Summe für dieses Spiel51,00 €

Engine evaluiert pure funktional — evaluateTriggers(match, rules) aus lib/crawler/triggers.ts. In Production läuft das in einem Inngest-Job pro neuem Match aus dem Fußball.de-Crawler, mit Monthly-Cap-Enforcement und Idempotenz über UNIQUE-Constraints in Postgres.

Roadmap

  • ✓ Plan 1 Foundation, Schema, Engine, Crawler, Inngest-Pipeline
  • Plan 2 Better Auth + Verein-Onboarding + Sponsor-Onboarding + Pledge-Setup
  • Plan 3 Vereins-Dashboard, Match-Detail, Manual-Event-Editor, Approval-Inbox
  • Plan 4 Invoicing (PDF + Mail), Saison-Ende-Flow
  • Plan 5 Stripe-Abo, Grace-Period, Read-Only-Mode
  • Plan 6 Marketing-Site, Brand mit ui-ux-pro-max, E2E, Hetzner-Deploy