Restaurateur is a restaurant recommender that takes into account all the restaurants located throughout Prague and recommends the most suitable ones based on applied filtering preferences.
The recommender also works for a fixed location - Prague College.
-
The recommender works for a fixed location given in advance ('Prague College local restaurants').
-
The recommender provides the following information about each restaurant:
- Name
- Address, District
- Rating
- Price Range
- Cuisines
- Takeaway and Delivery Options
-
Recommendations are being done on fixed filtering references. Preferences to take into account are:
- Price Range
- Vegetarian and Vegan Options
- Gluten Free Option
-
The recmmender works for all the restaurants located throughout Prague.
-
The recommender provides the following information about each restaurant:
- Name
- Address, District
- Rating
- Price Range
- Cuisines
- Takeaway and Delivery Options
- Phone Number
- Weekly Menu
-
Filtering Options:
-
For Prague College local restaurants:
- Cuisine
- Price Range
- District
- Delivery and Takeaway Options
- Vegetarian and Vegan Options
- Gluten Free Option
- Weekly Menu
- Distance
-
For all restaurants:
- Cuisine
- Price Range
- District
- Delivery and Takeaway Options
- Vegetarian and Vegan Options
- Gluten Free Option
- Weekly Menu
-
-
Search engine suggests restaurants based on user's input and works as an autocomplete. The restaurants can be searched by the given location or name.
-
The recommender can sort retrieved restaurants by:
- Price range - descending
- Price range - ascending
- Rating - descending
-
The application allows the user to create an account, save favourite restaurants and modify account settings as needed.
- The recommender provides the following
information about each restaurant:
- Name
- Address, District
- Rating
- Price Range
- Cuisines
- Takeaway and Delivery Options
- Phone Number
- Weekly Menu
- URL
- Vegan, Vegeterian and Gluten Free Options
- Opening Hours
Usage.mp4
signup.mp4
login.mp4
GeneralUsage.mp4
The detailed insturctions for running the application can be seen in the following README files:
https://github.com/AgiliaErnis/restaurateur/tree/main/frontend#readme
https://github.com/AgiliaErnis/restaurateur/tree/main/backend#readme
The application has two environments - https://test.restaurateur.tech for testing, and https://restaurateur.tech for production builds. Backend API is accessible at https://testapi.restaurateur.tech and https://api.restaurateur.tech.
The application is contained inside 2 Docker containers:
- db - Postgres container with a persistent storage on the server
- app - a container based on NodeJS for both Node and Go parts
There is an nginx reverse proxy set up on the server on ports 80 and 443. It is used for easy SSL and domain configuration.
docker compose
is used to build the containers on the server. docker-compose-dev.yml
is used for test.restaurateur.tech, and docker-compose.yml
for restaurateur.tech.
The deployment process is automated through GitHub actions. GitHub runner connects to the server through SSH and executes the necessary commands. Test environment is released to test.restaurateur.tech on prerelease GitHub event. Production environment is released to restaurateur.tech on release GitHub event. deploy-prerelese.yml
and deploy-release.yml
files are the workflows responsible for that.
https://github.com/adzai/restaurateur-tui/tree/main/#readme
If you don't see TUI locally, run git submodule update --init --recursive
Alternatively just clone https://github.com/adzai/restaurateur-tui/