refactor(infra): remove zitare + clock NestJS backends, add shared-hono package

Both apps are fully local-first via Dexie.js + mana-sync. Their NestJS
backends were pure CRUD wrappers (20 + 31 source files) that are no
longer needed.

Changes:
- Add packages/shared-hono: JWT auth via JWKS (jose), Drizzle DB factory,
  health route, generic GDPR admin handler, error middleware
- Migrate zitare lists page from fetch() to listsStore (local-first)
- Rewrite clock timers store from API-based to timerCollection (Dexie)
- Update clock +layout.svelte CommandBar search to use local collections
- Remove zitare-backend + clock-backend from docker-compose, CI/CD,
  Prometheus, env generation, setup scripts
- Add docs/TECHNOLOGY_AUDIT_2026_03.md with full repo analysis

Net result: -2 Docker containers, -2 ports, -2728 lines of code

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Till JS 2026-03-27 22:43:46 +01:00
parent 82de69476f
commit 32939fbfb5
81 changed files with 1236 additions and 2727 deletions

View file

@ -248,19 +248,7 @@ const APP_CONFIGS = [
},
},
// Zitare Backend (NestJS)
{
path: 'apps/zitare/apps/backend/.env',
vars: {
NODE_ENV: () => 'development',
PORT: (env) => env.ZITARE_BACKEND_PORT || '3007',
DATABASE_URL: (env) => env.ZITARE_DATABASE_URL,
MANA_CORE_AUTH_URL: (env) => env.MANA_CORE_AUTH_URL,
DEV_BYPASS_AUTH: () => 'true',
DEV_USER_ID: (env) => env.DEV_USER_ID || '00000000-0000-0000-0000-000000000000',
CORS_ORIGINS: (env) => env.CORS_ORIGINS,
},
},
// Zitare Backend: REMOVED — migrated to local-first
// Zitare Mobile (Expo)
{
@ -506,19 +494,7 @@ const APP_CONFIGS = [
},
},
// Clock Backend (NestJS)
{
path: 'apps/clock/apps/backend/.env',
vars: {
NODE_ENV: () => 'development',
PORT: (env) => env.CLOCK_BACKEND_PORT || '3017',
DATABASE_URL: (env) => env.CLOCK_DATABASE_URL,
MANA_CORE_AUTH_URL: (env) => env.MANA_CORE_AUTH_URL,
DEV_BYPASS_AUTH: () => 'true',
DEV_USER_ID: (env) => env.DEV_USER_ID || '00000000-0000-0000-0000-000000000000',
CORS_ORIGINS: (env) => env.CORS_ORIGINS,
},
},
// Clock Backend: REMOVED — migrated to local-first
// Clock Web (SvelteKit)
{