Flash deals from restaurants to consumers:
- Allows users to find deals offered by participating restaurants.
- Allows restaurants to post limited-time deals after signing up directly with the app owners.
- Users can filter the deals by cuisine and by deals that expire tomorrow or within a week (default is the current day's deals).
- Users can click on deals to see a modal pop-up with further relevant information including a map of the restaurant's location, a countdown to deal expiration, and a link to Yelp reviews of the restaurant.
- Users can enter an address on the homepage to see the distance from that address to each restaurant, and their associated routes in the modal views, provided by Google Maps.
- Users can sign up/log in to set notification preferences when a deal is posted by any participating restaurant of their choice.
- Upon logging in, restaurant owners/managers may create and update their restaurant profile, create deals, view current and expired deals, and manually expire deals any day before the preset day of expiration.
This project may be deployed in different versions with changes in time-based filtering ability, styling, or other features.
The app is live on Heroku here: https://blueplate-mks.herokuapp.com (subject to daily limits of free usage of the Google Maps API key). You may sign up as a user on your own from the client (note, you must use a valid email address in order to test the email notifications feature).
See API_spec.md for API POST and GET routes. See this video demo for an intro to the app's functionality.
BluePlate relies on the Google Maps, Yelp, Nodemailer, and Twilio APIs. Its stack is primarily ReactJS, PostGreSQL, Node, and Express.
After cloning down the repo, run "npm install" from the parent directory to install project dependencies. Run "npm start" from the parent directory to start the server.
Except where otherwise noted, content from this app is licensed under a Creative Commons Attribution 4.0 International license.
The authors may be contacted by email:
Kayla Handy ([email protected]), Salman Oskooi ([email protected]), Garrett Brustkern ([email protected]), Kayla Matteo ([email protected])