This application was designed to assist users in finding a coffee shop that matched their needs and allow them to review and rate coffee shops they visit based on a few different features that many people look for in a coffee shop. I was inspired by a few issues experienced while trying to work on group projects at a coffee shop where the environment was extremely loud and made it very difficult to collaborate with team members.
Within this app a user can view current coffee shops in the database. They can view the visits other users have logged, log a visit of their own, and if desired they can filter down to just view their own entries. If a user makes a mistake or would like to delete an entry they have control to alter their own entries as they see fit.
As the application grows users can search through the list of coffee shops to return the one they are looking for. If the shop they are looking for does not appear in the list then the user has the option to look for more shops through the Yelp Fusion API or they can manually add a shop of their choosing.
Users will login using Google popup
Users will be prompted through an automatic modal to complete a profile in order to use the application.
Users will be brought to the home/welcome page after creating their profile.
Users can look through the shops that are currently in the database. As the list grows there is a search box to find the shop they would like based on shop name and address.
If a user does not find a shop that they are looking for they will be presented with an option to further search which calls to the Yelp Fusion API and returns additional results based on a 20 mile radius from the zip entered into the user's profile.
In some cases a user may not be able to pull back shops that have not been reviewed on yelp. In this case the user can manually add a new shop by clicking the button which will prompt them to fill out the form for the new shop.
If a user clicks on a shop they are taken to a page where they can see how many users have logged a visit and an average rating of the visits on a total basis and by each feature.
When a user scrolls down on the single shop view, if any users logged a visit to that show they will see information for their log on a card.
Users may choose to log a visit of their own and rate the shop based on the various different features offered.
As more data is entered users may wish to filter down just to view their personal data entries. They may click a button on the single shop view to view their entries only.
This part of the project is still in progress. In this section the user would have the option to further detail out what they find is important when they visit shops. Once they have selected what is important to them they would be provided with recommendations that match what they look for in a coffee shop. If tech and wifi are important they would indicate this in their preferences so they would be matched up with shops that rate higher in this area.
Click here to try out the live demo.
npm install
src/helpers/apiKeys.json
file and add in your firebase keys that were created in the new firebase project. Feel free to reference the apiKeys.example.json
file in the project for the correct structure.npm start