refactor(presi): replace NestJS backend with lightweight Hono server

The Presi NestJS backend (40 source files, 50 deps) was a CRUD wrapper
around decks, slides, and themes — all now handled by local-first sync.

Only the share-link feature requires server-side state (public URLs
without auth), so a minimal Hono + Bun server replaces the entire
NestJS backend:

- apps/presi/apps/server/ — Hono server with share routes + GDPR admin
  Uses @manacore/shared-hono for auth (JWKS), health, admin, errors
- Web app API client stripped to share-only (was 270 lines → 90 lines)
- Removed from docker-compose, CI/CD, Prometheus, env generation
- NestJS backend deleted (40 TS files, 8 test specs, 3038 lines)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Till JS 2026-03-28 02:08:40 +01:00
parent 5c33962439
commit dd2f814cf3
62 changed files with 393 additions and 3038 deletions

View file

@ -200,12 +200,9 @@
"presi:dev": "turbo run dev --filter=presi...",
"dev:presi:web": "pnpm --filter @presi/web dev",
"dev:presi:landing": "pnpm --filter @presi/landing dev",
"dev:presi:backend": "pnpm --filter @presi/backend dev",
"dev:presi:app": "turbo run dev --filter=@presi/web --filter=@presi/backend",
"dev:presi:full": "./scripts/setup-databases.sh presi && ./scripts/setup-databases.sh auth && concurrently -n auth,backend,web -c blue,green,cyan \"pnpm dev:auth\" \"pnpm dev:presi:backend\" \"pnpm dev:presi:web\"",
"presi:db:push": "pnpm --filter @presi/backend db:push",
"presi:db:studio": "pnpm --filter @presi/backend db:studio",
"presi:db:seed": "pnpm --filter @presi/backend db:seed",
"dev:presi:server": "cd apps/presi/apps/server && bun run --watch src/index.ts",
"dev:presi:app": "pnpm dev:presi:web",
"dev:presi:full": "concurrently -n auth,sync,server,web -c blue,magenta,yellow,cyan \"pnpm dev:auth\" \"pnpm dev:sync\" \"pnpm dev:presi:server\" \"pnpm dev:presi:web\"",
"storage:dev": "turbo run dev --filter=storage...",
"dev:storage:web": "pnpm --filter @storage/web dev",
"dev:storage:backend": "pnpm --filter @storage/backend dev",
@ -260,14 +257,9 @@
"cf:login": "npx wrangler login",
"cf:projects:list": "npx wrangler pages project list",
"cf:projects:create": "echo 'Creating Cloudflare Pages projects...' && npx wrangler pages project create chat-landing --production-branch=main && npx wrangler pages project create picture-landing --production-branch=main && npx wrangler pages project create manacore-landing --production-branch=main && npx wrangler pages project create manadeck-landing --production-branch=main && npx wrangler pages project create zitare-landing --production-branch=main",
"dev:search": "pnpm --filter @manacore/mana-search dev",
"dev:search:docker": "docker-compose -f services/mana-search/docker-compose.dev.yml up -d",
"dev:search:docker:down": "docker-compose -f services/mana-search/docker-compose.dev.yml down",
"dev:search:docker:logs": "docker-compose -f services/mana-search/docker-compose.dev.yml logs -f",
"dev:search:full": "docker-compose -f services/mana-search/docker-compose.dev.yml up -d && pnpm --filter @manacore/mana-search dev",
"search:docker:up": "docker-compose -f services/mana-search/docker-compose.yml up -d",
"search:docker:down": "docker-compose -f services/mana-search/docker-compose.yml down",
"search:docker:logs": "docker-compose -f services/mana-search/docker-compose.yml logs -f",
"dev:search": "cd services/mana-search-go && go run ./cmd/server",
"dev:crawler": "cd services/mana-crawler-go && go run ./cmd/server",
"dev:notify": "cd services/mana-notify-go && go run ./cmd/server",
"questions:dev": "turbo run dev --filter=questions...",
"dev:questions:backend": "pnpm --filter @questions/backend dev",
"dev:questions:web": "pnpm --filter @questions/web dev",