Files
videoteca/docs/03-roadmap.md
T

3.4 KiB

Roadmap

MVP = M0-M4 con l'admin che usa la dashboard standard di PocketBase; il pannello admin proprio (M3b) segue subito dopo. Regola per ogni fase: document-first (doc/ADR aggiornati prima del codice) e, a fine fase, aggiornamento di PROJECT_STATE.md e CHANGELOG.md.

Fase Obiettivo Deliverable Criterio di completamento
M0 — Spike e fondamenta Chiudere i rischi tecnici prima di costruire Repo con docs; PocketBase (build ARM da verificare) e ffmpeg avviati sul Raspberry reale; 3 file campione provati (tra i 2 e i 3 GB, N-09) su Safari iOS, Chrome Android e Windows reali (N-07) Vedi sotto
M1 — Dati Schema e gestione categorie Migrazioni in pb_migrations/; collezioni categories, videos, progress; validazione cicli e regola foglie (ADR 0010); creazione del superuser (da documentazione PocketBase), collection utenti e rules (ogni utente modifica solo il proprio profilo, F-15) (ADR 0013) Categorie creabili/spostabili da dashboard; cicli rifiutati
M2 — Ingest Upload → ricodifica → pronto Pipeline secondo ADR 0004 Upload di un file di test arriva a ready; errori finiscono in error; riavvio riconciliato
M3 — Navigazione UI Categoria → sottocategoria → lista filmati pb_public/ Login utente; pagina profilo con cambio password (F-15); navigazione completa, stati di caricamento/vuoto/errore
M3b — Pannello admin Gestione da interfaccia Pagina admin in pb_public/ con login superuser: upload con stato, albero categorie, gestione account utenti (creazione, reimpostazione password, eliminazione), modifica/sposta/elimina (ADR 0012) L'admin carica un filmato, ne vede lo stato fino a ready, crea una stagione, sposta e elimina con conferma; un utente normale non accede né scrive
M4 — Player e ripresa Riproduzione con ripresa Player, salvataggio posizione, "visto" Pausa → chiudi → riapri riparte dallo stesso punto (±2 s); seek corretto su file grande; precedente/successivo; un utente non legge né scrive il progresso di un altro (ADR 0008)
M5 — Qualità Robustezza Checklist casi limite (docs/02) verificata; backup/ripristino provato; lint Markdown e link check Tutti i casi della checklist hanno esito documentato
M6 — Esposizione in rete (futura) Uso da Internet (la rete di casa è già nell'MVP, N-01) HTTPS e revisione rules (l'auth c'è già dall'MVP, ADR 0013) Nuovo ADR sulla sicurezza prima di iniziare

M0 in dettaglio (spike)

  1. Scaricare PocketBase (versione fissata) dal sito ufficiale e avviarlo in locale.
  2. Su 3 file reali (piccolo, medio, grande): ricodificare con ffmpeg in AV1 e HEVC; misurare peso prima/dopo e tempo.
  3. Provarli nei browser che usi davvero (riproduzione, seek, riapertura) → decide ADR 0003.
  4. Misurare cosa fa zip/tar.gz sugli stessi file → conferma ADR 0002.
  5. Verificare: limite upload per file grandi; seek con Range via /api/files/; esecuzione non bloccante di ffmpeg da hook → decide ADR 0004.
  6. Aggiornare ADR, rischi e PROJECT_STATE.md con i risultati misurati.

Fatto quando: ADR 0003 e 0004 sono "Accettato" con numeri a supporto, e R-01…R-03 sono chiusi o ridimensionati.