This project is submitted for MLH - Hack and Snack 2022 Hackathon
The Idea behind Hungry for Food is to build a hassle-free web application which fetches the nearby restaurants of the user to pre-book/ reserve your seats with ease. It could also provide you features of each restaurants and on the other hand you could also publish your delicious recipe with your friends, family or almost anyone in the web.
- EJS: For webpage templating
- Mongoose: As a driver to connect MongoDB with node.js
- Passport.js: Authentication middleware for Google OAuth
- Geoapify API for Places: Our website will calculate latitude and longitude values of current location and it will fetch all nearby resturants data.
This hackathon project is our attempt to accomplish the Idea. But unfortunately we were not able to accomplish it entirely.
- Upon visiting our web app the user is presented with Sign-Up Page where he is provided with Multiple Third Party Authentication.
- Once the user is logged in, he is directed to our home page where the user can fetch restaurants by clicking Fetch restaurants near me.
- Once the User is done checking the nearby restaurants he could logout with a single button atthe top right.
The real gem behind this project is the Geoapify API for Places. This API provides details on twenty of hotels, making it possible for us to include custom details for so many beaches. Although this API only provides information about hotels in Pakistan, we hope to add hotels from around the world in the future. The data from the Geoapify API is queried by our server hourly, and saved into our MongoDB database (to avoid overloading their API). This database can be queried by name and location (latitude, longitude).
Another part of our project is that we have provide an option for sign in with google , facebook and twitter using Passport.js and one can also continue without login.
npm install
npm run dev -- --open
- Fetching, Installing Dependencies and Fixing Backend Errors.
- Figuring out the API for different regions or co-ordinates of different places was a huge task.
We were able to partially complete the idea behind the challenge and create a hack to solve this problem. Team Work was something we were really proud of specially when we had errors we worked together to fix them.
We experimented lot of API's and learnt pretty much everything we used out of this project.
We plan to finish this challenge and create a complete web application and help the user to experience the best out of it.
Please βοΈ this repository if this project helped you!