Commit Graph

5 Commits

Author SHA1 Message Date
Julien Calixte
e47302218b feat(napta): resolve project Members (real+active, role, sorted)
Filter user_project by project + simulated=false, include user, drop inactive
people, dedupe per user, map user_position -> Role, sort by last name.
2026-06-26 16:20:51 +01:00
Julien Calixte
9ded10f68e feat(napta): client-credentials auth + real project listing
Napta uses Auth0 M2M, not a static token: exchange client_id/secret for a cached
JWT, then list non-archived projects via JSON:API (include client name). Falls back
to fixtures when NAPTA_CLIENT_ID/SECRET are unset. Member resolution still stubbed.
2026-06-26 16:16:06 +01:00
Julien Calixte
fc039ac0fc docs: capture design from walk-with-me (CONTEXT, DESIGN, ADR-0001) 2026-06-26 16:16:05 +01:00
Julien Calixte
645bd6ff27 fix(deploy): use expose instead of host ports for Coolify compose
Coolify honors host port bindings in the compose and the host already has :80
(its own proxy) and :8000 allocated, so publishing them fails the deploy at
container start. Switch web/api to expose-only; nginx still reaches api over the
compose network, and Coolify routes the domain via docker_compose_domains. Add a
docker-compose.override.yml so local 'docker compose up' still publishes ports.
2026-06-26 15:36:14 +01:00
Julien Calixte
528251f176 chore: initial scaffold
Vite + Vue 3 + DaisyUI SPA (project picker + Slack avatar member grid) with a
TypeScript/Node (Hono) backend proxying Napta + Slack, SQLite avatar cache via
node:sqlite, and docker-compose for Coolify deploy.
2026-06-26 15:26:20 +01:00