Skip to content

Beer rating app built with Ruby on Rails and React/Redux

Notifications You must be signed in to change notification settings

wilbooorn/Uncappt

Repository files navigation

UNCAPP'T

UNCAPP'T Live

Profile Page

Uncapp't is a full stack web application inspired by Untappd. Our mission is to unite beer connoisseurs everywhere in the lifelong quest to try the world's best beers. The app provides functionality to add new beers, "checkin" to a beer, and say "cheers" to beers others are drinking globally.

UNCAPP'T is built on a Ruby on Rails backend with a PostrgeSQL database, and a React.js/Redux frontend.

Technologies Used

  • Ruby
  • Rails
  • Javascript
  • React.js
  • Redux
  • PostrgeSQL
  • Cloudinary API

Features

User Authentication

Authentication for Untapp'd is implemented both on the frontend and the backend. On the backend, user passwords are hashed and salted using BCrpyt to ensure no password data is stored or accessible. On the front end, all pages except the splash page are restricted to logged in users. When the DOM is fully loaded, the app checks for a current user set by Rails via session token. If there is no user logged in, all routes will be redirected to the splash page which contains the sign in and sign up forms, which are rendered as modals by the modal component.

User Auth Ruby Code

Beer Search

By default, all beers are displayed in alphabetical order on the beers index page. The beers index page features a magnifying glass that, when clicked, reveals a search field. Using the PG Search gem and a custom search query attached to an AJAX call to the server, beers can be searched by either their name, or their brewery's name.

Beers Controller

  • The BeersController checks to see if there is a search query present in the params. If so, the beers displayed on the beers index will update with records that match the search query by calling the search_by_name method defined in the Beer model

Beers Model

Search GIF

Future Directions for the Project

Comments

Post and delete comments on other users' checkins.

Sorting

Sort beers by various criteria, such as highest rated, or most checkins, and sort checkins by most likes, or time created.

Friendships

Users can have friends and there will be a custom feed to only see friends' checkins, rather than global checkins.

Badges

Users can earn badges for different achievements, such as number of checkins, number of unique beers tried, etc.

Design Docs

About

Beer rating app built with Ruby on Rails and React/Redux

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published