managarten/services/cards-server
Till JS a8ddb6dea4 feat(cards): Phase ε.3 — PR notifications + Card-Discussions UI
- mana-notify integration in cards-server: PR-create notifies the
  deck owner, merge/reject notifies the PR author. Fire-and-forget
  via lib/notify.ts so a notify-service outage never rolls back a
  domain action. ExternalIDs are deterministic (cards.pr.{event}.{id})
  so retries dedupe.
- <CardDiscussions> on the learn page: collapsed by default, opens
  via "💬 Diskussion" alongside the "✏️ Verbessern" trigger. Resets
  whenever the current card changes so the panel doesn't bleed
  between flashcards.
- MARKETPLACE_PLAN.md §13a — known limitations: PR-merge is
  stale-blind (no rebase yet), diff-preview flat, threading 1-level.
2026-05-07 22:24:45 +02:00
..
drizzle feat(cards-server): Phase α — service skeleton + 16-table schema 2026-05-07 16:01:08 +02:00
src feat(cards): Phase ε.3 — PR notifications + Card-Discussions UI 2026-05-07 22:24:45 +02:00
.gitignore feat(cards-server): Phase α — service skeleton + 16-table schema 2026-05-07 16:01:08 +02:00
CLAUDE.md feat(cards-server): Phase α — service skeleton + 16-table schema 2026-05-07 16:01:08 +02:00
Dockerfile feat(cards-server): Phase α.4 — Dockerfile + compose + tunnel route 2026-05-07 16:22:48 +02:00
drizzle.config.ts feat(cards-server): Phase α — service skeleton + 16-table schema 2026-05-07 16:01:08 +02:00
package.json feat(cards-server): Phase α — service skeleton + 16-table schema 2026-05-07 16:01:08 +02:00
README.md feat(cards-server): Phase α — service skeleton + 16-table schema 2026-05-07 16:01:08 +02:00
tsconfig.json feat(cards-server): Phase α — service skeleton + 16-table schema 2026-05-07 16:01:08 +02:00

cards-server

Backend for the Cards marketplace. See CLAUDE.md for the technical overview and apps/cards/docs/MARKETPLACE_PLAN.md for the full product plan.