3.4 KiB
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)
- Scaricare PocketBase (versione fissata) dal sito ufficiale e avviarlo in locale.
- Su 3 file reali (piccolo, medio, grande): ricodificare con ffmpeg in AV1 e HEVC; misurare peso prima/dopo e tempo.
- Provarli nei browser che usi davvero (riproduzione, seek, riapertura) → decide ADR 0003.
- Misurare cosa fa zip/tar.gz sugli stessi file → conferma ADR 0002.
- Verificare: limite upload per file grandi; seek con
Rangevia/api/files/; esecuzione non bloccante di ffmpeg da hook → decide ADR 0004. - Aggiornare ADR, rischi e
PROJECT_STATE.mdcon i risultati misurati.
Fatto quando: ADR 0003 e 0004 sono "Accettato" con numeri a supporto, e R-01…R-03 sono chiusi o ridimensionati.