Some checks failed
Add auth setup project, viewer session check, upload that posts a fixture, FastAPI login spec (skips without E2E_API_*), and repo ROADMAP.md.
2.1 KiB
2.1 KiB
PunimTag roadmap
Living plan for product quality, auth/email reliability, and automation.
Now — shipped / in flight
- Fix public-host auth redirects (Kolby #57 family) —
NEXTAUTH_URL+ verify-email - DEV mail trap via Mailpit (not Mailtrap SaaS / not Spamhaus-blocked Mailcow for e2e)
- Playwright e2e suite (
e2e/) on@levkin/playkitagainstpunimtagdev.levkin.ca - Dedicated e2e user
e2e@levkine.ca(Vault / Infisical / Gitea Actions) - Vitest unit tests for
viewer-frontendin Gitea Actions - API smoke + Zod schema checks (health, people, tags, 401 contracts)
- storageState setup project + real upload smoke
- ROADMAP (this file)
Next (near-term)
- Wire QA/PROD SMTP on live guests when LXCs 9102/9103 exist (
make punimtag-sync-smtp ENV=qa|prod) - FastAPI e2e user — mirror
e2e@levkine.ca(or service account) into FastAPI user DB; setE2E_API_USERNAME/PASSWORDin CI - Search / filter e2e — tag + person filters on public gallery
- Role permissions e2e — viewer vs admin write gates
- admin-frontend Vitest (or Playwright admin project)
- PROD smoke — health + public login page only (no mutating tests)
- Stop seeding
admin@admin.comin docs as the day-to-day login; keep bootstrap scripts but point operators at VaultwardenPunimTag e2e
Later
- Proper DEV deploy (
next start+ CI image) instead of long-livednext dev - Ansible/app_setup path aligned with
/opt/punimtag/viewer-frontend/.env(not/srv/app) - OpenAPI-driven contract suite (playkit / consumer)
- Multi-browser matrix (firefox/webkit)
- Hermes/Mattermost report on e2e failure
Test map
| Layer | Where | Status |
|---|---|---|
| Viewer unit | viewer-frontend Vitest |
CI viewer-unit |
| Backend unit/integration | tests/ pytest |
existing |
| E2E browser + mail | e2e/tests/* |
CI e2e |
| E2E API (unauth + catalog) | e2e/tests/api.* |
CI |
| E2E FastAPI authed | api.fastapi-login.spec.ts |
skips without E2E_API_* |
| Admin UI | — | gap |
See also: e2e/README.md, playkit ROADMAP.md (kit-level).