In depth on · 2024 · Studio project
Jelly Belly Wiki
Python scraper → MySQL → C# / .NET API → React client. A four-stage data pipeline, built solo.
Architecture
Overview
Jelly Belly Wiki is a data pipeline, not a website. A Python scraper pulls flavor, recipe, fact and milestone data from the official Jelly Belly site; the cleaned JSON seeds a MySQL database through Entity Framework Core migrations; a C# / ASP.NET Core API serves it over ten documented endpoints with filtering, search and pagination; and a React front end consumes that same public API — the identical one any other developer can call. Three languages, three deployment targets, one developer, and every stage still running today.
Scope
- 1 · Collection — Python
- Selenium and BeautifulSoup scrape flavors, recipes, facts and milestones from the official Jelly Belly site, then normalise the result to clean JSON ready to seed.
- 2 · Data model — MySQL
- Five related resources modelled in Entity Framework Core and seeded through migrations, so the schema rebuilds from scratch rather than being hand-loaded.
- 3 · API — C# / ASP.NET Core
- Ten read endpoints serving 317 records, with filtering, search and paginated responses built on LINQ queries.
- 4 · Documentation — Swagger
- A live, interactive Swagger UI plus in-app documentation, so another developer can try an endpoint before writing a line of code.
- 5 · Front end — React
- The client is a consumer of its own public API: every screen is assembled from the documented endpoints, with state and actions covered by Jest tests.
- Deployed, not demoed
- Front end on Netlify, API on Render, database on TiDB — three separate services, all live and reachable today.
Results
Not a site with a database behind it — a public API with a reference front end. The scraping, the schema, the endpoints, the documentation and the UI are one person's work, and every layer is still live.