Commit Graph

  • 5aed055331 feat(map): add fullscreen button using browser Fullscreen API tudor 2026-03-30 09:21:44 +01:00
  • d6a45b8e12 feat(map): fetch all schools for map view, add reference pin, cap radius at 5mi tudor 2026-03-30 09:13:14 +01:00
  • daf24e4739 fix(search): fix load-more silently failing due to missing page_size param tudor 2026-03-30 09:08:15 +01:00
  • 0c5bef34cf feat(ui): polish filter controls with pill styling and custom arrows tudor 2026-03-29 21:31:03 +01:00
  • 5615458223 feat(ui): consolidate search/filter area into cleaner 2-row layout tudor 2026-03-29 20:46:38 +01:00
  • 9c9528b51b fix(FilterBar): close fragment opened around phase filter and advanced section tudor 2026-03-29 20:21:11 +01:00
  • 1009d7c976 fix(chart): format year as 2022/23 instead of 202223 on performance chart tudor 2026-03-29 20:17:04 +01:00
  • 790b12a7f3 changes to order of display and text tudor 2026-03-29 20:14:42 +01:00
  • 8f4c052294 feat(filters): move phase filter out of advanced section to always-visible position tudor 2026-03-29 18:33:45 +01:00
  • b7bff7bf6b feat(seo): static sitemap generation job via Airflow tudor 2026-03-29 15:15:41 +01:00
  • 748891ab31 fix(detail): restore admissions cut-off note on secondary school page tudor 2026-03-29 15:07:52 +01:00
  • 17b8873f0f fix(detail): add missing location map section to secondary school page tudor 2026-03-29 15:06:27 +01:00
  • 15c0055687 refactor(detail): align secondary school page with primary — scroll-to-section nav tudor 2026-03-29 14:48:06 +01:00
  • 6315f366c8 fix(build): single-brace JSX for schoolUrl, migrate images.domains to remotePatterns tudor 2026-03-29 14:15:06 +01:00
  • 784febc162 feat(seo): add school name to URLs, fix sticky nav, collapse compare widget tudor 2026-03-29 12:41:28 +01:00
  • e2c700fcfc fix(ui): round admission percentages, fix mobile overflow on detail pages tudor 2026-03-29 11:22:13 +01:00
  • 77a0f5b674 fix(detail): enrich secondary overview tab — show Ofsted grades, admissions, SEN tudor 2026-03-29 10:59:30 +01:00
  • 63dfa22255 fix(detail): detect secondary schools by attainment_8_score, not just phase field tudor 2026-03-29 10:12:07 +01:00
  • 1d22877aec feat(ux): 8 UX improvements — simpler home, advanced filters, phase tabs, 4-line rows tudor 2026-03-29 08:57:06 +01:00
  • e8175561d5 updates for secondary schools tudor 2026-03-28 22:36:00 +00:00
  • f3a8ebdb4b fix(dbt): deduplicate int_ks4_with_lineage predecessor rows tudor 2026-03-28 18:58:50 +00:00
  • f0c76a1724 fix(dbt): fix stg_ees_ks4 breakdown filter: 'Total' not 'All pupils' tudor 2026-03-28 18:35:00 +00:00
  • 3e787b395f chore(pipeline): add EES KS4 tap diagnostic script tudor 2026-03-28 18:26:15 +00:00
  • 3d1c4c61c9 fix(types): add missing phases field to Filters fallback in rankings page tudor 2026-03-28 15:03:03 +00:00
  • 250d1f7c77 fix(tap-uk-idaci): add openpyxl dependency for Excel file parsing tudor 2026-03-28 15:00:00 +00:00
  • 5eff9af69c feat: add secondary school support with KS4 data and metric tooltips tudor 2026-03-28 14:59:40 +00:00
  • b0990e30ee fix(ui): retheme comparison toast to match site palette tudor 2026-03-27 22:09:59 +00:00
  • 1629a8f994 feat(pipeline): add DAGs for Parent View and IDACI deprivation tudor 2026-03-27 22:08:12 +00:00
  • 55749bdfaf debug(backend): log safe_query exceptions and rollback on failure tudor 2026-03-27 22:00:27 +00:00
  • cd1c649d0f fix(frontend): format 6-digit EES academic year codes correctly tudor 2026-03-27 18:30:37 +00:00
  • 7724fe3503 fix(stg_ofsted_inspections): correctly filter NULL string inspection dates tudor 2026-03-27 18:21:30 +00:00
  • 1d56eebe87 fix(stg_ofsted_inspections): filter out rows with no inspection date tudor 2026-03-27 17:55:11 +00:00
  • 10720400fd fix(stg_ofsted_inspections): parse DD/MM/YYYY date format from Ofsted CSV tudor 2026-03-27 17:34:34 +00:00
  • 05cb22f1a5 fix(stg_ofsted_inspections): handle NULL strings from Ofsted CSV tudor 2026-03-27 17:23:46 +00:00
  • 26aa3c2d70 fix(tap-uk-ofsted): fix header row detection matching 'urn' inside 'turn' tudor 2026-03-27 17:05:03 +00:00
  • e56a63c59c debug(tap-uk-ofsted): log CSV column names to diagnose 0-record extraction tudor 2026-03-27 15:47:32 +00:00
  • 221923857d chore: remove integrator/kestra CI jobs, fix school website link protocol tudor 2026-03-27 15:30:08 +00:00
  • 62284e7a94 chore: remove Kestra and integrator legacy services tudor 2026-03-27 15:03:34 +00:00
  • 668e234eb2 feat(census): add demographic columns to EES census tap and staging models tudor 2026-03-27 14:07:48 +00:00
  • 4b02ab3d8a feat: wire Typesense search into backend, fix sync performance data bug tudor 2026-03-27 13:23:32 +00:00
  • 5d8b319451 fix(dbt): stub rc_* columns as NULL in stg_ofsted_inspections tudor 2026-03-27 12:50:58 +00:00
  • 77f75fb6e5 fix(dbt): deduplicate predecessor KS2 rows and downgrade orphan test to warn tudor 2026-03-27 12:16:36 +00:00
  • b41e6c250e fix(dbt): filter non-numeric URNs and trim whitespace in EES staging models tudor 2026-03-27 12:00:30 +00:00
  • 6e720feca4 perf(dbt): collapse stg_ees_ks2 to single-pass pivot tudor 2026-03-27 11:42:40 +00:00
  • ae9fd26eba perf(dbt): materialize stg_ees_ks2 and stg_ees_ks4 as tables tudor 2026-03-27 11:20:20 +00:00
  • 33b395d2bd fix(dbt): apply safe_numeric macro to fix EES suppression code 'c' errors tudor 2026-03-27 10:41:27 +00:00
  • 8e8d1bd8c5 fix(ees-tap): filter out rows with null URN before emitting tudor 2026-03-27 10:13:17 +00:00
  • c7357336e3 fix(ees-tap): fix BOM handling for admissions CSV tudor 2026-03-27 10:03:17 +00:00
  • b8ecc5c58b fix(ees-tap): strip UTF-8 BOM from CSV column names tudor 2026-03-27 09:54:15 +00:00
  • f4f0257447 fix(ees-tap): add latin-1 encoding for census/admissions, default utf-8 for others tudor 2026-03-27 09:41:40 +00:00
  • ca351e9d73 feat: migrate backend to marts schema, update EES tap for verified datasets tudor 2026-03-27 09:29:27 +00:00
  • d82e36e7b2 feat(ees): rewrite EES tap and KS2 models for actual data structure tudor 2026-03-26 23:08:50 +00:00
  • 719f06e480 fix(pipeline): make total_pupils non-optional for Typesense, add lat/lng to dim_location tudor 2026-03-26 22:45:02 +00:00
  • 5e44d88d23 fix(sync): use numeric default_sorting_field, dynamic KS2/KS4 joins, populate geopoints tudor 2026-03-26 22:16:21 +00:00
  • cc481aa00c fix(airflow): remove PostGIS init from airflow, rely on postgis image initdb tudor 2026-03-26 22:11:00 +00:00
  • 613a030c95 fix(airflow): ensure PostGIS extension exists during init tudor 2026-03-26 22:08:12 +00:00
  • 72cbbf7778 fix(dbt): simplify search_path to just public for PostGIS tudor 2026-03-26 21:47:01 +00:00
  • 03256fed41 fix(dbt): add search_path to profile so PostGIS functions resolve in all schemas tudor 2026-03-26 21:45:53 +00:00
  • b7cc01f26f fix(dbt): schema-qualify PostGIS functions in dim_location tudor 2026-03-26 21:45:03 +00:00
  • 28ba2fd0a6 fix(dbt): cast easting/northing to double precision for ST_MakePoint tudor 2026-03-26 21:29:16 +00:00
  • 03cd1de6af fix(airflow): delete and reimport DAGs on init to clear stale task refs tudor 2026-03-26 21:28:03 +00:00
  • 54df58746e feat(pipeline): use GIAS easting/northing for all geocoding, drop postcode step tudor 2026-03-26 21:18:59 +00:00
  • d3e655abdb fix(dbt): compute geom from easting/northing in dim_location tudor 2026-03-26 21:17:08 +00:00
  • 45f3e4d9fc fix(dbt): override generate_schema_name to use direct schema names tudor 2026-03-26 21:09:23 +00:00
  • d25e333826 fix(dbt): remove invalid relationship test on map_school_lineage tudor 2026-03-26 20:59:29 +00:00
  • 7f82088d53 fix(pipeline): use to_date for DD-MM-YYYY GIAS dates, exclude EES models from daily DAG tudor 2026-03-26 20:51:40 +00:00
  • e7b1ab9f37 fix(pipeline): expand GIAS schema, handle empty strings, scope DAG selectors tudor 2026-03-26 20:43:24 +00:00
  • 24cfb83144 fix(dbt): fix GIAS source column quoting and remove tests on unloaded sources tudor 2026-03-26 20:25:56 +00:00
  • 72ef1b03b7 fix(airflow): use correct Airflow 3 env vars for multi-container JWT and Execution API tudor 2026-03-26 20:11:06 +00:00
  • ea160b53df fix(airflow): point scheduler to api-server via INTERNAL_API_URL tudor 2026-03-26 17:09:17 +00:00
  • 8a2503230f fix(airflow): split back to separate scheduler and api-server containers tudor 2026-03-26 17:00:07 +00:00
  • 677e80ad70 fix(airflow): generate config before starting processes, set fixed secret key tudor 2026-03-26 16:57:22 +00:00
  • 1dbcc24434 fix(airflow): stop deleting airflow.cfg, let processes share config tudor 2026-03-26 16:49:18 +00:00
  • b3e4769d82 fix(airflow): set shared internal API secret key tudor 2026-03-26 16:42:02 +00:00
  • 7a39f4cdb1 fix(ci): use correct mirror address 10.0.1.224:6000 tudor 2026-03-26 15:06:17 +00:00
  • 1a9dd49097 fix(ci): configure buildx to use local Docker Hub mirror tudor 2026-03-26 14:59:16 +00:00
  • 0062a5eabe fix(tap-gias): declare numeric CSV columns as StringType tudor 2026-03-26 14:03:26 +00:00
  • 84261f6125 fix(meltano): set default_environment, remove deprecated version field tudor 2026-03-26 14:01:31 +00:00
  • 9eae6bffae fix(meltano): use 'database' not 'dbname' for meltanolabs target-postgres tudor 2026-03-26 13:53:49 +00:00
  • c576bba06a fix(meltano): remove catalog capability and switch elt to run tudor 2026-03-26 13:45:23 +00:00
  • 1c77a6c593 fix(pipeline): run meltano install in Dockerfile to generate catalogs tudor 2026-03-26 12:28:59 +00:00
  • 07869738c0 fix(airflow): merge scheduler and api-server into single container tudor 2026-03-26 12:16:18 +00:00
  • a3a50cc8d2 fix(airflow): remove generated airflow.cfg so env vars take effect tudor 2026-03-26 12:12:32 +00:00
  • 2ba5e57286 fix(airflow): set scheduler hostname for log server resolution tudor 2026-03-26 12:06:22 +00:00
  • 6b4eb08a5e fix(airflow): share logs volume between scheduler and api-server tudor 2026-03-26 11:55:43 +00:00
  • cd75fc4c24 fix(taps): align with integrator resilience patterns tudor 2026-03-26 11:13:38 +00:00
  • b6a487776b fix(airflow): set DAGS_FOLDER in image env and reserialize on init tudor 2026-03-26 11:05:41 +00:00
  • e815f597ab fix(dags): use global bin paths and add BashOperator import fallback tudor 2026-03-26 10:47:18 +00:00
  • 97d975114a feat(pipeline): implement parent-view, fbit, idaci Singer taps + align staging/mart models tudor 2026-03-26 10:38:07 +00:00
  • 904093ea8a fix(airflow): remove DAG volume mounts, use image-baked DAGs tudor 2026-03-26 10:27:39 +00:00
  • c4e3b6a7e4 fix(typesense): use TCP check for healthcheck, no curl/wget available tudor 2026-03-26 10:14:59 +00:00
  • 09d704c325 fix(typesense): use wget instead of curl for healthcheck tudor 2026-03-26 10:12:54 +00:00
  • 1574089b95 fix(pipeline): update Airflow healthcheck to /api/v2/monitor/health tudor 2026-03-26 10:01:09 +00:00
  • 914de17d15 fix(pipeline): install curl in pipeline image for healthchecks tudor 2026-03-26 09:52:06 +00:00
  • a7904b627d fix(pipeline): migrate to Airflow 3 API server and SimpleAuthManager tudor 2026-03-26 09:32:08 +00:00
  • deb4024731 chore(pipeline): bump all dependencies to latest stable versions tudor 2026-03-26 09:18:11 +00:00
  • e32666ae4c fix(pipeline): bump Airflow to 2.11 and dbt to 1.9 to resolve SQLAlchemy conflict tudor 2026-03-26 09:08:21 +00:00
  • 5d90eddf46 ci: add pipeline image build job to Gitea Actions workflow tudor 2026-03-26 08:47:58 +00:00
  • 8f02b5125e feat(pipeline): add Meltano + dbt + Airflow ELT pipeline scaffold tudor 2026-03-26 08:37:53 +00:00
  • 8aca0a7a53 feat(ui): site-wide UX/UI audit — unified buttons, tokens, accessibility tudor 2026-03-25 20:28:03 +00:00