feat: implementazione V1 - app.py, Dockerfile, docker-compose, .env.example, requirements
This commit is contained in:
+15
-13
@@ -6,10 +6,12 @@ Data riferimento: 2026-04-24
|
||||
|
||||
Il progetto ha oggi:
|
||||
|
||||
- un README iniziale con obiettivo e modalita' d'uso target;
|
||||
- un PRD esteso con requisiti funzionali e non funzionali;
|
||||
- note di connessione tecniche da trattare con cautela;
|
||||
- nessuna implementazione applicativa ancora presente.
|
||||
- README, PRD e progress.md committati su remote;
|
||||
- `.gitignore` con esclusione di `.env` e `connessione.md`;
|
||||
- `app.py` — entrypoint Python con config loader, database client, loop resiliente e shutdown ordinato;
|
||||
- `requirements.txt` con dipendenze minime (`psycopg2-binary`, `python-dotenv`);
|
||||
- `.env.example` completo;
|
||||
- `Dockerfile` e `docker-compose.yml`.
|
||||
|
||||
## Obiettivo di Sviluppo
|
||||
|
||||
@@ -52,7 +54,7 @@ Verifica:
|
||||
|
||||
Stato:
|
||||
|
||||
- da fare
|
||||
- **completata** — `connessione.md` non tracciato, `.env` escluso da `.gitignore`, nessuna credenziale in chiaro nel repository.
|
||||
|
||||
### Fase 1. Bootstrap del progetto Python
|
||||
|
||||
@@ -81,7 +83,7 @@ Verifica:
|
||||
|
||||
Stato:
|
||||
|
||||
- da fare
|
||||
- **completata** — `app.py` con logging strutturato, `requirements.txt` con `psycopg2-binary` e `python-dotenv`, sintassi verificata.
|
||||
|
||||
### Fase 2. Configurazione e validazione environment
|
||||
|
||||
@@ -110,7 +112,7 @@ Verifica:
|
||||
|
||||
Stato:
|
||||
|
||||
- da fare
|
||||
- **completata** — `load_config()` in `app.py` valida tutte le variabili obbligatorie con messaggi di errore espliciti e uscita controllata; `.env.example` coerente con PRD e README.
|
||||
|
||||
### Fase 3. Connessione a Supabase/PostgreSQL
|
||||
|
||||
@@ -139,7 +141,7 @@ Verifica:
|
||||
|
||||
Stato:
|
||||
|
||||
- da fare
|
||||
- **completata** — funzione `ping()` in `app.py` con connect_timeout, gestione `OperationalError` e `Error`, chiusura connessione in `finally`, nessun segreto nei log.
|
||||
|
||||
### Fase 4. Loop di keep-alive e resilienza runtime
|
||||
|
||||
@@ -168,7 +170,7 @@ Verifica:
|
||||
|
||||
Stato:
|
||||
|
||||
- da fare
|
||||
- **completata** — `run()` in `app.py` con loop `while not _shutdown`, sleep a blocchi da 10s per risposta rapida a SIGTERM/SIGINT, handler segnali registrati, log di next-run ad ogni ciclo.
|
||||
|
||||
### Fase 5. Containerizzazione Docker
|
||||
|
||||
@@ -197,7 +199,7 @@ Verifica:
|
||||
|
||||
Stato:
|
||||
|
||||
- da fare
|
||||
- **completata** — `Dockerfile` con python:3.12-slim, flag `-u` per output non bufferizzato, `docker-compose.yml` con `restart: unless-stopped`.
|
||||
|
||||
### Fase 6. Documentazione operativa e rifinitura V1
|
||||
|
||||
@@ -226,7 +228,7 @@ Verifica:
|
||||
|
||||
Stato:
|
||||
|
||||
- da fare
|
||||
- in corso
|
||||
|
||||
## Backlog Post-V1
|
||||
|
||||
@@ -261,6 +263,6 @@ La V1 e' completata quando:
|
||||
|
||||
## Prossima Attivita' Operativa
|
||||
|
||||
Task raccomandato immediato:
|
||||
Fasi 0-5 completate. In corso: Fase 6 — allineamento README con struttura reale e intervallo di ping definitivo (`4320 min = 72 ore`).
|
||||
|
||||
- eseguire la Fase 0 e poi creare lo scheletro minimo della V1 con `app.py`, `requirements.txt`, `.env.example` e `Dockerfile`.
|
||||
Prossima verifica operativa: `docker build` + avvio container con `.env` reale per confermare funzionamento end-to-end.
|
||||
|
||||
Reference in New Issue
Block a user