Ruby on Rails, active record for PostgreSQL, Heroku for deployment, polymorphic associations, stack overflow and a lot of iced coffee.
- Pry: for debugging
- Deivise: I used this to develop the User sign up, login, and authentication.
- Geocoder: this takes an address and assigns the coordinates to latitude and longitude variables on every Brewery.
I started small, once I had the beer and brewery models up and running, I implemented crud functionality on the Beer model allowing users to add new beers. Next, I added reviews for beers; and this model also allowed for CRUD. Before using the Devise gem, I had created user and session models to begin setting permissions, which initially were only determined based on whether a user was logged in or not. Using Devise, I was able to specify permissions based on whether or not a user 'owned' certain content. Using current_user permissions, I implemented the favoriting and add-to-route functionalities fairly smoothly. Next, I used the Geocoder gem to pull coordinates for each Brewery's address. On each Brewery's show page, there is now a static Google Map with a marker for the Brewery's location.
- I couldn't figure out how to use Javascript to create a dynamic Google map on the Route page so that a user could see all of his/her favorite breweries plotted on a map.
- I couldn't figure out how to include the Untappd AP (but I did receive a private key, so will be able to use it in the future!!)
- Speaking of keys, my Google maps API key is in one of the files that I've committed to Github. Where do I put it so that it can be referenced, but won't appear on GitHub??
Besides the two
- Each user's 'route' page would include a dynamic Google map with markers for every brewery that the user had added to his/her route. I got a little closer to this goal by implementing the geocoder gem to create coordinates for all of the Breweries.
- Untappd API to include reviews and other beer/brewery information from users across the internet.
- I need to improve user experience, specifically with regard to adding breweries to a route and favoriting beers.
- Main Page will have stream of most recent comments made on beers on the site.
- Using cancancan gem I'll implement a 'brewmaster' permission that will allow admin users (Brewmasters) to add breweries and edit the breweries that they add.
- Each Brewery will have its twitter feed on its show page.
- Brewery Model with multiple Breweries
- Beer Model
- User can post reviews on beers
- Users can login
- Users can favorite beers, but only if logged in
- Favorites are specific to the user, not a function of whether or not someone is logged in
- Each user can view all of his/her favorited beers on a Favorites pages
- User can add a brewery to his/her 'route'
- Each user can view his 'route' an a user-specific 'route' page.
- A 'quote' model so that the footer can include a random beer-related quote on every page load.
- Each Brewery show page has it's twitter feed
- Each Brewery show page has a small map with brewery location.
- The breweries added to a user's route page show up as markers on a google map
- Implement cancan gem allowing for members and brewmasters.
- Brewmasters can edit breweries' information. Untappd API to include reviews of each