Skip to content

Latest commit

 

History

History
230 lines (163 loc) · 8.72 KB

README.md

File metadata and controls

230 lines (163 loc) · 8.72 KB

Welcome to Virtual Watch Party

Contributors Issues Stargazers Forks

The application that brings people together

But keeps them apart

Find the project spec here.

Table of Contents

Overview

Virtual Watch Party is a 10-day, 2 person project, during Mod 3 of 4 for Turing School's Back End Engineering Program.

We created an application that consumes a movie database 3rd party API and allows users to login, add friends, search for movies, get a list of recommended movies, see details about each movie, and add their friends to Virtual-Watch-Parties which are "dates" to all watch the chosen movie at an agreed upon time.

top_rated_movies_page

  • ⭐ Consume JSON APIs that require authentication
  • ⭐ Build an application that requires basic authentication
  • ⭐ Organize and refactor code to be more maintainable
  • ⭐ Implement a self-referential relationship in ActiveRecord
  • ⭐ Utilize Continuous Integration using Travis CI
  • ⭐ Deploy to Heroku
  • ⭐ Apply principles of flow control across multiple methods
  • ⭐ Write migrations to create tables with columns of varying data types and foreign keys
  • ⭐ Use Rails to create web pages that allow users to CRUD resources
  • ⭐ Create instance and class methods on a Rails model that use ActiveRecord methods and helpers
  • ⭐ Write model and feature tests that fully cover data logic and potential user behavior
  • ⭐ Apply RuboCop’s style guide for code quality

Schema Layout

Technical Requirements

Tools Used

Development Development Testing Deployment
Ruby 2.7.2 Bootstrap RSpec for Rails Heroku
Pry Github Capybara Travis CI
Rails 5.2.6 Git Webmock
PostgresQL HTML VCR
BCrypt CSS Launchy
Postico Rubocop Orderly
Faraday Atom SimpleCov
Figaro FactoryBot
Postman

Contributors

👤 Brian Fletcher

👤 Jason Knoll

A note about friendships
The user story about adding friends states that if User A and User B are in the database and User A adds User B as a friend, then that friendship is confirmed, and User A can now invite User B to a Viewing Party. It does not explicitly state that User B must also add User A as a friend. Think of this like a Twitter “follow” relationship: if I follow you, I can invite you to a Viewing Party, but you can’t invite me to a party unless you follow me first.

Setup

This project requires Ruby 2.7.2.

  • Fork this repository
  • Clone your fork
  • From the command line, install gems and set up your DB:
    • bundle
    • bundle update
    • rails db:create
  • Run the test suite with bundle exec rspec.
  • Run your development server with rails s to see the app in action.

Project Configurations

  • Ruby version

    $ ruby -v
    ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-darwin20]
  • System dependencies

    $ rails -v
    Rails 5.2.6
  • API access

    - Signup for an account
    - To register for an API key, click the  from within your account settings page.
      - Click on your avatar or initials in the main navigation
      - Click the "Settings" link
      - Click the "API" link in the left sidebar
      - Click "Create" or "click here" on the API page
    - We will be using the `v4` token.
    
  • API access setup

    $ gem install figaro
    $ bundle exec figaro install
    open the new hidden file `application.yml`
    set `movie_api_key: <<Bearer (your v4 token)>>`
  • Database creation

    $ rails db:{drop,create,migrate,seed}
    Created database 'viewing_party_development'
    Created database 'viewing_party_test'
  • How to run the test suite

    $ bundle exec rspec
  • Local Deployment, for testing:

    $ rails s
    => Booting Puma
    => Rails 5.2.6 application starting in development
    => Run `rails server -h` for more startup options
    Puma starting in single mode...
    * Version 3.12.6 (ruby 2.7.2-p137), codename: Llamas in Pajamas
    * Min threads: 5, max threads: 5
    * Environment: development
    * Listening on tcp://localhost:3000
    Use Ctrl-C to stop
    
  • Heroku Deployment, for production

How to use Virtual Watch Party

Using

Select a Movie

Creating a party and selecting your friends

On your dashboard, view all parties you created and were invited to