Skip to content

Rails application that consumes APIs to create an interface for exploring movies and creating movie viewing party events. Utilizes MVC and CRUD.

Notifications You must be signed in to change notification settings

JohnSantosuosso/viewing_party_lite

 
 

Repository files navigation

Viewing Party Lite

  • Viewing Party Lite is a Rails application that allows a user to search for movies using the The Movie Database API.
  • The user is provided with an option to create a viewing party after a movie is selected.
  • This application utilizes a relational database to store user and viewing party data.
  • The application was deployed on Heroku but can also be viewed on a local server.

📖 Table of Contents

Table of Contents
  1. ➤ Technical Requirements
  2. ➤ Project Files Description
  3. ➤ Database Schema
  4. ➤ Getting Started
  5. ➤ Scenario 1: Create a New User
  6. ➤ Scenario 2: Discover Movies
  7. ➤ Scenario 3: Create a Viewing Party
  8. ➤ Scenario 4: View User Dashboard
  9. ➤ Credits

💻 Technical Requirements

  • Ruby 2.7.4
  • Rails 5.2.6
  • RSpec-Rails 5.1.2
  • Faraday
  • Figaro
  • Webmock
  • VCR
  • Capybara
  • SimpleCov
  • Launchy
  • Orderly
  • Shoulda-Matchers

Installation instructions found in ➤ Getting Started

💾 Project Files Description

  • app/controllers
    1. Contains several controllers that initiates API call processes through movie_facade.rb
  • app/controllers/movie_facade.rb
    1. Processes data returned through app/services
  • app/services
    1. Makes API calls via Faraday
  • app/poros
    1. Formats API data into Ruby objects
  • app/models
    1. Creates User and Party objects in a PostgreSQL database
  • app/views
    1. Contains multiple pages that reference and render objects
    2. Built in HTML and CSS

Some other supporting files

  • spec
    1. Contains tests for views, models, facacades, fixtures, services, poros
    2. spec/fixtures/vcr_cassettes
      1. Subfolder that contains mocked data used in tests to prevent API endpoint calls every time testing suite is run

🖥️ Database Schema

Screen Shot 2022-09-04 at 11 14 18 AM

📖 Getting Started

1. Create a new directory on your computer where you'd like the program to live.

$ mkdir /your_folder/viewing_party_lite

2. Navigate into the recently created directory.

$ cd /your_folder/viewing_party_lite

3. Copy the repository by clicking on the code button on Github repo page (using SSH).

183747041-40f47875-442e-4008-8d00-8c45bf2731fe

4. Clone the recently copied repository information into your currenty directory.

$ git clone git@github.com:JohnSantosuosso/viewing_party_lite.git

5. Open the repository in your preferred IDE. If you are using VSCode, use the code command shown below:

$ code .

6. Install dependencies found in Gemfile.

$ bundle install

7. Inside your project directory, install Figaro via your terminal.

$ bundle exec figaro install

8. Install Faraday.

$ bundle exec faraday install

9. Signup for an API Key on The Movie Database. Add Key to config/application.yml file

movie_api_key: your key goes here

10. Run migrations

$ rails db:{create,migrate,seed}

11. Initiate the application on your local server.

$ rails s

12. Open your favorite web browser and enter the URL in the address bar:

localhost:3000

🔸 Scenario 1: Create a New User

A new user can be created and stored in the database. Validations exist to prevent multiple users registered with the same email address.

step 1-1

🔸 Scenario 2: Discover Movies

A user can search for movies by title and view that movie's details. A user can also see top rate movies by clicking the Top Movies button

step 2

🔸 Scenario 3: Create a Viewing Party

A user can select a movie and create a viewing party for that movie.

step 3

🔸 Scenario 4: View User Dashboard

A user can view the viewing parties they are hosting, as well as the parties they have been invited to.

step 4

📜 Credits

John Santosuosso

GitHub Badge LinkedIn Badge

Cory Bethune

GitHub Badge LinkedIn Badge

Project inspired and guided by Turing School of Software and Design's Viewing Party Lite.

About

Rails application that consumes APIs to create an interface for exploring movies and creating movie viewing party events. Utilizes MVC and CRUD.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 82.6%
  • HTML 14.7%
  • JavaScript 1.7%
  • CSS 1.0%