-
-
The home page has a search bar where you enter the type of food and the location.The navigation bar has links to the Login and Register page
-
Once the search command has been processed restaurants at that location that provide the cuisine are displayed.
-
If no location is entered then the user's location is utilized.
-
Your favorite restaurants can be added to a personal list and saved.
Inspiration
Our inspiration for this project came from wanting to see more functionalities and features on the common food delivering and ordering apps.
What it does
StreetEats is a website that allows users to access local restaurants based on their location. Users can register, login, and customize lists of restaurants. Lists of restaurants are unique to each user to customize a title for their list and add/remove restaurants in each of their lists. Website Link:(https://street-eats.tech/)
Main Features and Implementation
Registration and Login Registration and login information is stored in a postgreSQL database to allow each user to have unique lists and account information.
Restaurant Lists Users are able to create new lists of restaurants to connect to their user profile, and add/remove as many restaurants to any of their lists. The information for restaurants is pulled from the YelpFusion API and stored into a database, Restaurants. The title for the list of restaurants can then be added/removed in a user's restaurant list, which connects the User database and Lists database. The Restaurants database the interacts with our Lists database, which is connected to a User database. These databases are postgreSQL databases.
Challenges we ran into
Understanding how to connect our 3 APIs and our multiple databases was a challenge. We decided to divide API and database-related tasks to assign to each team member. We had to stay organized and in communication to piece together our 3 APIs and our databases. We researched PostgreSQL and API get/post requests in our assigned sections, and asked for help as needed.
Accomplishments that we're proud of
We've implemented the following features that we think make it better:
Monitoring
This project is being monitored through a combination of the tools
- cAdvisor (Port 8080)
- Prometheus (Port 9090)
- Grafana(Port 3000)
CI/CD
Both CI and CD workflows are automated.
Testing
A linter check over the code occurs when someone makes a pull request to ensure optimal execution at all points.
What we learned
We learned how to work with different technologies and good coding practices
Technologies Used
- Nginx as a reverse proxy
- Docker as a containerizing service
- HTML and CSS for the design of pages
- Flask and Python
- PostgreSQL Databases
- Docker
- Prometheus
- Grafana
APIs:
- YelpFusion API
- IP address API
- IP to coordinates API
What's next for StreetEats
Future work includes adding a feature allowing the users to add friends and being recommended cuisines based on previous selection.

Log in or sign up for Devpost to join the conversation.