Explore top-rated culinary experiences with interactive insights, Scraped directly from the Michelin Guide website.
Part of the Plotly Dash
Autumn App Challenge 2024 »
Table of Contents
Some of the visualizations available:
- Geographical Distribution: A map showing the location of Michelin-starred restaurants.
- Awards Distribution: Breakdown of distribution of Michelin rating (also per country).
- Cuisine Popularity: Count of restaurants by cuisine type.
- Price Distribution: Number of restaurants in each price category.
- Green Stars: Distribution of restaurants that have earned the Green Star.
- Top Locations: Cities with the most Michelin-starred restaurants.
- Top Countries: Countries with the most Michelin-starred restaurants.
There are also some features which utilize an LLM (an OpenAI API key is needed).
- LLM Analysis: Ask general questions about the data, which is then retrieved using an SQLite database.
- Recommendations: Ask for restaurant recommendations which certain constrains and requests.
This project has been built using Python and the Plotly Dash framework.
To get a local copy up and running follow these simple example steps.
Please make sure to have the following prerequisites installed.
- Python 3.11 or greater
- Poetry
To set up the project, ensure you have Python 3.11+ installed. Follow these steps:
Clone the repository:
git clone https://github.com/niekvleeuwen/michelin-guide-restaurants-dashboard.git
cd michelin-guide-restaurants-dashboard
Install dependencies using Poetry:
poetry install
Then enter the created virtual environment:
poetry shell
Next, install the pre-commit hooks
pre-commit install
Copy the .env.dist
file to .env
and enter in the requested variables.
The program can be executed using:
python dashboard/main.py
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE.txt
for more information.
Niek van Leeuwen - LinkedIn - [email protected]
Project Link: https://github.com/niekvleeuwen/michelin-guide-restaurants-dashboard