Agregátor poledních menu restaurací v Řeporyjích. Automaticky stahuje aktuální nabídky každých 15 minut a zobrazuje je na jedné stránce.
🌐 dat0s.github.io/restaurace-menu-reporyje
| Restaurace | Typ menu | Zdroj dat |
|---|---|---|
| Kavárna na Náměstí | Denní | HTML scraping |
| Řeporyjská Sokolovna | Denní | Next.js JSON |
| Pivovar Řeporyje | Denní (po dnech) | OCR z obrázku |
| Jídelna Pohotovka | Denní | JSON API |
| Kantýna STAPO | Denní (po dnech) | Facebook OCR → ruční obrázek |
| Řeznictví Svoboda | Denní (po dnech) | Instagram OCR → ruční obrázek |
| HQ Pippi Grill | Stálé | Statické |
| DÖNER KEBAB HOUSE | Stálé | Statické |
| Papa Cipolla | Stálé | Statické |
GitHub Actions (každých 15 min) → Node.js scrapery → menu-data.json → GitHub Pages
- GitHub Actions spouští
npm run scrapepodle cronu - Scrapery stáhnou menu z webů restaurací (HTML, JSON API, OCR)
- Výsledky se uloží do
docs/menu-data.json - GitHub Pages servíruje statický frontend z
/docs
Meta blokuje IP adresy GitHub Actions, takže automatické stahování z Facebooku/Instagramu většinou selže. Scrapery proto používají třístupňový postup:
- Pokus o automatické stažení (funguje z domácí IP, v CI zpravidla ne)
- OCR ručně nahraného obrázku z
menu-images/kantyna.jpgnebomenu-images/svoboda.jpg - Záložní karta s odkazem na Facebook / Instagram
Jak aktualizovat menu ručně (bez PC, bez skriptů):
- Uložte screenshot týdenního menu z Facebooku (Kantýna) nebo Instagramu @svoboda_reznictvi
- Na github.com otevřete složku
menu-images/→ Add file → Upload files - Nahrajte soubor pojmenovaný přesně
kantyna.jpgnebosvoboda.jpg(přepište starý) - Do ~15 minut cron obrázek přečte a web se aktualizuje
npm ci
npm run scrape
# Otevřete docs/index.html v prohlížeči- Frontend: Vanilla JS, statické HTML/CSS
- Scraping: Cheerio (HTML), Puppeteer + Tesseract.js (OCR), fetch (JSON API)
- Hosting: GitHub Pages
- CI/CD: GitHub Actions