Skip to content

Add French SNCF train data and provider support#36

Merged
R4ULtv merged 29 commits into
mainfrom
preview
Jun 21, 2026
Merged

Add French SNCF train data and provider support#36
R4ULtv merged 29 commits into
mainfrom
preview

Conversation

@R4ULtv

@R4ULtv R4ULtv commented Jun 21, 2026

Copy link
Copy Markdown
Owner

This pull request introduces comprehensive French railway support by adding the SNCF provider, related brands, assets, and station data to the application. It also updates environment examples, API handling, and documentation to reflect the new data source.

Key Changes

  • Implemented SNCF France provider with Navitia API integration
  • Added over 21,000 French train stations and brand assets (SNCF, TGV Lyria, TER, OUIGO, Eurostar, Transdev)
  • Introduced TRAIN_LIMIT to cap API request counts for SNCF
  • Populated platform information from stop_point.platform_code
  • Updated environment example with SNCF_API_KEY
  • Adjusted country restrictions for OUIGO, Eurostar, and Transdev to France only
  • Revised announcement banner to highlight France update
  • Updated README and documentation with French data source details

Technical Details

  • Switched base URL to Navitia for SNCF API calls and added derived labels for station type and importance
  • Added derived label logic and platform extraction in the scraper
  • Implemented trailing newline fix for FUNDING file and ensured proper dependency bumping across repos
  • Updated lockfile and Wrangler version to 4.98.0

Impact

  • Users can now query and display French train schedules and station information
  • Improves coverage of European rail operators, enhancing the product’s market reach
  • Documentation reflects the new data source, aiding developers in setup and usage

R4ULtv added 28 commits May 29, 2026 10:27
- Bump wrangler to 4.95.0 in apps/api and apps/static
- Update Svelte stack to svelte 5.55.10 and related libs
- Bump lucide libs: lucide-react 1.17.0, @lucide/svelte 1.17.0
- Move to shadcn-svelte 1.3.0 and takumi-js 1.6.0
- Bump turbo to 2.9.15
- Update tooling: oxfmt 0.52.0, oxlint 1.67.0, eslint-plugin-turbo
  2.9.15
- Bump pnpm to 11.4.0
- Wire France SNCF into analytics and country map
- Bind SNCF_API_KEY in env bindings
- Register France scraper and import France module
- Extend country data to include FR code and FRM mapping
- Add four FR regional TER logos and operators:
  fluo.svg, regionaura.svg, ter-na.svg, zou.svg under
  apps/static/public/operators/fr
- Update branding mappings to support new logos:
  map new slugs fluo, regionaura, ter-na, zou to corresponding FR logo
  paths
  adjust aliases for ter na and zou variants to resolve to the proper
  logos
- Extend operator data:
  add fluo, regionaura, ter-na, and zou entries to
  packages/data/src/operators.json with metadata and links
Update SNCF scraper to use the Navitia coverage endpoint and remove the
inline comment on the platform field
Add comprehensive SNCF France provider and station data
@R4ULtv R4ULtv self-assigned this Jun 21, 2026
@R4ULtv R4ULtv added the bug Something isn't working label Jun 21, 2026
@R4ULtv R4ULtv added the enhancement New feature or request label Jun 21, 2026
@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Updated (UTC)
✅ Deployment successful!
View logs
rail-static 92ea665 Jun 21 2026, 08:20 AM

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jun 21, 2026

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Updated (UTC)
✅ Deployment successful!
View logs
rail-radar 3b4fcb6 Jun 21 2026, 08:28 AM

@vercel

vercel Bot commented Jun 21, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
rail-radar Skipped Skipped Jun 21, 2026 8:28am

@github-actions

github-actions Bot commented Jun 21, 2026

Copy link
Copy Markdown

Station Data Change Report

➕ Stations Added (3304)
ID Name Type Coordinates
FR009696 La Douzillère rail 47.3388167, 0.6528244
FR109306 Lille CHR rail 50.61432, 3.03432
FR111278 Porte de Clichy rail 48.89399, 2.31462
FR111849 Marne-la-Vallée Chessy rail 48.869856, 2.78272
FR111864 Balsièges rail 44.4820108, 3.4560976
FR113001 Paris Est rail 48.876742, 2.358424
FR113209 Pantin rail 48.898096, 2.400685
FR113217 Noisy-le-Sec rail 48.896288, 2.459306
FR113407 Bondy rail 48.894208, 2.4786
FR113472 Le Raincy - Villemomble - Montfermeil rail 48.889325, 2.512062
FR113514 Gagny rail 48.883125, 2.527106
FR113522 Le Chénay Gagny rail 48.877129, 2.552692
FR113696 Rosny Bois Perrier rail 48.882568, 2.480987
FR113704 Rosny-sous-Bois rail 48.87099, 2.48559
FR113712 Val de Fontenay rail 48.854238, 2.489097
FR113746 Nogent - Le Perreux rail 48.838846, 2.494331
FR113779 Les Boullereaux Champigny rail 48.824926, 2.511884
FR113795 Villiers-sur-Marne - Le Plessis-Trévise rail 48.823039, 2.541761
FR113803 Les Yvris Noisy-le-Grand rail 48.823182, 2.579828
FR113845 Les Coquetiers rail 48.89244, 2.499415
FR113852 Les Pavillons-sous-Bois rail 48.902418, 2.511781
FR113860 Gargan rail 48.908159, 2.517109
FR113878 Allée de la Tour Rendez-Vous rail 48.897109, 2.506475
FR113886 L'Abbaye rail 48.922211, 2.516874
FR113894 Freinville Sevran rail 48.926637, 2.519019
FR115873 Champbenoist - Poigny rail 48.545567, 3.287434
FR116012 Gretz-Armainvilliers rail 48.74544, 2.728824
FR116020 Ozoir-la-Ferrière rail 48.77072, 2.689841
FR116038 Roissy-en-Brie rail 48.795481, 2.650165
FR116046 Émerainville - Pontault-Combault rail 48.806034, 2.618004
FR116079 Verneuil-l'Étang rail 48.644689, 2.825006
FR116087 Mormant rail 48.613564, 2.88881
FR116095 Nangis rail 48.561336, 3.012619
FR116103 Meaux rail 48.957759, 2.874041
FR116111 Chelles - Gournay rail 48.874128, 2.582484
FR116137 Longueville rail 48.513703, 3.249822
FR116160 Provins rail 48.55577, 3.302822
FR116178 Sainte-Colombe Septveilles rail 48.52959, 3.25602
FR116210 Tournan-en-Brie rail 48.7393088, 2.75957134
FR116228 Marles-en-Brie rail 48.733976, 2.868099
FR116244 Mortcerf rail 48.7892191, 2.9075554
FR116269 Guérard - La Celle-sur-Morin rail 48.810588, 2.954783
FR116277 Faremoutiers - Pommeuse rail 48.808494, 2.993109
FR116285 Mouroux rail 48.8139949, 3.0423421
FR116293 Vaires - Torcy rail 48.874953, 2.639986
FR116301 Coulommiers rail 48.808006, 3.08225
FR116319 Lagny - Thorigny rail 48.88218325, 2.70404228
FR116327 Esbly rail 48.90314191, 2.81059946
FR116400 Montry - Condé rail 48.8908268, 2.8262345
FR116491 Trilport rail 48.96013551, 2.94953688
... 3254 more stations ... ...

@R4ULtv R4ULtv merged commit f34e69c into main Jun 21, 2026
5 checks passed

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 92ea6656ae

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread apps/api/src/scrapers/france.ts
Comment thread apps/api/src/scrapers/france.ts
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant