Find the project spec here.
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.
- ⭐ 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
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 |
👤 Brian Fletcher
- Github: Brian Fletcher
- LinkedIn: Brian Fletcher
👤 Jason Knoll
- Github: Jason Knoll
- LinkedIn: Jason Knoll
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.
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.
-
Ruby version
$ ruby -v ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-darwin20]
-
$ rails -v Rails 5.2.6
-
- 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.
-
$ 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
Creating a party and selecting your friends
On your dashboard, view all parties you created and were invited to