Coder Social home page Coder Social logo

johnsantosuosso / viewing_party_lite Goto Github PK

View Code? Open in Web Editor NEW

This project forked from corybethune/viewing_party_lite

0.0 0.0 0.0 733 KB

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

JavaScript 1.69% Ruby 82.56% CSS 1.03% HTML 14.72%
activerecord api-rest crud-application facades faraday mvc-architecture poros postgresql rspec-rails ruby-on-rails html json-api

viewing_party_lite's Introduction

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 [email protected]: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.

viewing_party_lite's People

Contributors

corybethune avatar johnsantosuosso avatar jamisonordway avatar juliet-e avatar megstang avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.