Semestral project of course PV281 - Programming in Rust.
The Menu Scraper application scrapes menus of Brno restaurants. Scraped menus can be viewed on a website and ordered by price and distance to the restaurant. Scraping takes place once a day at 8:00 a.m. and every time the Actix server is started.
The application allows you to register and create groups of users. Within the group, it is possible to create lunches and then vote to choose the menu for that lunch.
Used technologies:
- Frontend: HTML, CSS, HTMX, JS
- Backend: Actix, Askama templates, Postgres DB, Sqlx
- Scraping: Scraper, Reqwest, Geocoding, OpenCage API

Application uses Postgres DB:
For starting the database using Docker:
cp .env.example .env
docker compose up
Application uses SQLX:
cargo install sqlx-cli
Creating the database and applying the migration:
sqlx database setup
cargo run