Skip to content

feat: add FTS EU Grants explorer page#191

Merged
matteocavo merged 1 commit into
mainfrom
feat/fts-eu-grants-bi
Jul 3, 2026
Merged

feat: add FTS EU Grants explorer page#191
matteocavo merged 1 commit into
mainfrom
feat/fts-eu-grants-bi

Conversation

@matteocavo

@matteocavo matteocavo commented Jul 3, 2026

Copy link
Copy Markdown
Member

Sintesi

Aggiunge una pagina Data Explorer per fts_eu_grants con taglio BI: KPI annuali, distribuzione per programma UE, tipo beneficiario, città dichiarata e tabella dei principali beneficiari.

Contesto collegato

Closes #186

Cosa cambia

  • Nuovo dataset — pagina explorer
  • Bug fix frontend (data loader / layout / performance)
  • Aggiornamento config / catalogo
  • Modifica struttura dati upstream
  • Documentazione
  • Dipendenze o CI

Checklist nuovo dataset

Se la PR aggiunge un nuovo dataset in explorer:

  • Data loader: src/data/fts-eu-grants.json.py — usa safe_connect() (non duckdb.connect())
  • Pagina: src/dataset/fts-eu-grants.md — usa moduli condivisi (format-utils.js)
  • Tema: aggiornato src/data/themes.json.py (sidebar auto-generata, non toccato observablehq.config.js)
  • Frontmatter: title, description, source, source_url, period, last_modified, dataset_slug
  • Sezione Limiti obbligatoria (copertura, note metodologiche)
  • Verifica: lint, test e build eseguiti localmente

Standard check

Prima della review, verificare:

  • Niente toLocaleString — usare num(), euro(), pct() da format-utils.js
  • tableFormat e Inputs.table in celle separate (bug noto OF)
  • Mappe: non applicabile, nessuna mappa in questa pagina
  • Niente duckdb.connect() — usa safe_connect()
  • Sidebar: auto-generata da themes.json.py — non modificato observablehq.config.js

Verifica

npm run lint
npm test
npm run build
  • npm run lint — eslint + standard check: 30 pagine, 0 errori
  • npm test — JS 57/57 pass, Python 13/13 pass
  • npm run build — build completato: 39 pagine renderizzate, 26 link validati

Ho verificato le query del loader direttamente sui parquet pubblici via DuckDB: 40.449 righe 2020-2024, 108,6 mld euro di importo contrattato, aggregazioni programma/tipo ente/città/top beneficiari senza errori.

Checklist PR

  • Perimetro stretto: una PR = un dataset o un fix mirato
  • Issue collegata o motivazione dell'assenza

Note per chi revisiona

La pagina segnala esplicitamente due caveat: FTS non sostituisce OpenCoesione/fondi strutturali e la città del beneficiario può mancare (-), quindi la vista territoriale è una lettura della localizzazione dichiarata, non della destinazione finale dei fondi.

@matteocavo matteocavo added the curation Dataset pubblicato che necessita di pagina curata e tema label Jul 3, 2026
@matteocavo matteocavo self-assigned this Jul 3, 2026
@matteocavo matteocavo marked this pull request as ready for review July 3, 2026 11:32
@matteocavo matteocavo requested a review from Gabrymi93 July 3, 2026 11:32
@matteocavo

matteocavo commented Jul 3, 2026

Copy link
Copy Markdown
Member Author

PR pronta per review.

Ho sistemato anche la verifica locale su Windows: ora npm run lint, npm test e npm run build passano tutti. La pagina è pensata come vista BI su FTS EU Grants: KPI, programma UE, tipo beneficiario, città dichiarata e top beneficiari.

@Gabrymi93 Gabrymi93 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review PR #191 — FTS EU Grants

Clip: 3 file (loader + pagina + themes), solido, perimetro stretto.

Findings

  • Low: data loader custom (non usa load_dataset) ma giustificato — 6 query aggregate diverse, impossibile con load_dataset.
  • Low: classificazione programmi con ILIKE basata su pattern testuali. Caveat già dichiarato nei Limiti. ✅

Checklist

  • safe_connect(), format-utils.js, themes.json.py
  • ✅ Niente toLocaleString, tableFormat in celle separate
  • ✅ Frontmatter + Limiti completi
  • ✅ Build/lint/test dichiarati passati

Verdict: merge

@matteocavo matteocavo merged commit d7418c4 into main Jul 3, 2026
1 check passed
@matteocavo matteocavo deleted the feat/fts-eu-grants-bi branch July 3, 2026 11:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

curation Dataset pubblicato che necessita di pagina curata e tema

Projects

None yet

Development

Successfully merging this pull request may close these issues.

follow-up: pagina e tema per fts_eu_grants

2 participants