Skip to content

benjacoblee/happy-hour-hangouts

Repository files navigation

Happy Hour Hangouts

Technologies

  • Javascript
  • Node.js
  • Express.js
  • React.js
  • Postgres
  • Bootstrap
  • Google Places API
  • Cloudinary API
  • AJAX
  • Heroku

User stories

As a [bar-goer], I'd like [the ability to see happy hour offers] so that I can [make informed choices]
As a [bar-goer], I'd want to [contribute information] in order to [benefit other bar-goers]
As a [bar-goer], I'd like to [save happy hour hangouts] to [revisit them later]

Approach

Started with idea generation
ERD
Wireframing
List out CRUD routes
Implementation of hashed login
Create, read, update, delete bar entries
Added ability to comment
Allow users to bookmark favorite bars
Added ability to find bars nearby

Motivations

Develop familiarity with the usage of APIs
To learn more about AJAX and its use cases
To be more proficient with hashing and cookie usage
Become more comfortable with writing database queries

Unsolved problems

Make app purpose easier to understand
Sometimes mapping over comments in bar.jsx produces an error. Tried handling it using a conditional but doesn't seem to work. 
Manually set timezone to Singapore using Moment Timezone library. Need to find a better way to display dates based on user location
In the future, should find a better way to handle user experience (e.g. no indicator for upload progress, no immediate feedback after clicking on nearby bars)
On mobile, website seems to refresh with new lat/long. Doesn't seem to be the case with desktop

Wireframing

ERD

Credits

Kev and Nat for helping me with implementation of Google API
Akira for pointing out that API can only be used from server-side ;)