MicroFish/backend/app
Ubuntu b5c4d4a336 feat(auth): add JWT login screen, production Dockerfile and Azure Container App Bicep
- Backend: POST /api/auth/login endpoint (PyJWT HS256, 24h expiry)
  require_auth before_request middleware protecting all /api/* routes
  except /login and /health; wsgi.py entry point for gunicorn;
  Flask serves compiled Vue SPA in production
- Frontend: LoginView.vue (MiroFish dark aesthetic), auth.js reactive
  store, Axios Bearer token injection + 401 → /login redirect,
  Vue Router global guard protecting all routes
- i18n: login keys added to en/zh/es/ca locale files
- Dockerfile: multi-stage build (node:20-slim → python:3.11-slim +
  gunicorn), single port 5001
- Azure: container-app.bicep following CTTI guidelines — Log Analytics
  (NOR0016-C 90d retention), Container Apps Environment, all .env vars
  as env vars (secrets via secretRef, plain values inline)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 18:46:39 +00:00
..
api feat(auth): add JWT login screen, production Dockerfile and Azure Container App Bicep 2026-04-24 18:46:39 +00:00
models feat(i18n): replace hardcoded Chinese in backend SSE progress messages 2026-04-01 16:32:10 +08:00
services Merge pull request #428 from Ghostubborn/feat/i18n 2026-04-02 14:27:04 +08:00
utils fix(i18n): validate Accept-Language header against registered locales 2026-04-02 14:20:15 +08:00
__init__.py feat(auth): add JWT login screen, production Dockerfile and Azure Container App Bicep 2026-04-24 18:46:39 +00:00
config.py feat(auth): add JWT login screen, production Dockerfile and Azure Container App Bicep 2026-04-24 18:46:39 +00:00