Viewing Party is a 10-day, paired project during Turing School of Software and Design's Back-End Engineering program in Module 3. The goal was to create a Rails application that consumes APIs, where users can explore movie options and create a viewing party event for the user and friends. The database utilizes a self-referential relationship to allow users to have friends, similar to follower functionality on Twitter.
This application is built off of the base repo for the viewing party project used for Turing's Backend Module 3.
- A user can register for the site and log in and out using our basic authentication/authorization functions.
- These functions include authorization to view certain pages of the site only when logged in.
- Using the Discover page, users can select from the Top 40 movies according to TheMovieDB API.
- From the movie's show page, a user can create a viewing party with any friends they have added through their dashboard.
- On the dashboard, a user can view their list of friends as well as any viewing parties they are hosting.
- Viewing Parties in this section list their attendees.
The learning goals for this project centered around API consumption, manipulation of JSON responses, and basic authentication & authorization.
It was necessary to implement a self-referential relationship in the User model to allow for Friendships to be formed between users.
We were challenged to manipulate API response data without storing movie info inside of our own database.
Example wireframes here
- Fork this repository
- Clone repo: Run
git clone
. - Change into application's directory:
cd viewing_party
- Install gem packages: Run
bundle install
- Setup the database:
rails db:{create, migrate, seed}
Development | Testing | Gems |
---|---|---|
Ruby 2.7.2 | RSpec | Pry |
Rails 5.2.5 | WebMock | ShouldaMatchers |
HTML5 | VCR | Capybara |
CSS3 | Launchy | Figaro |
VSCode | SimpleCov | BCrypt |
Atom | Capybara | |
Github |
👤 Caroline Tan
👤 Matt Kragen