Skip to content

Brownfield of Dreams is a project building on an existing code base, focusing on BDD, consuming APIs, OAuth with OmniAuth and testing with mocks, stubs and fixtures.

Notifications You must be signed in to change notification settings

alexander-mathieu/brownfield-of-dreams

 
 

Repository files navigation

Brownfield of Dreams Screenshot

Brownfield of Dreams

Welcome to Brownfield of Dreams! This is a brownfield project completed by Brian Plantico, Brennan Ayers and Alexander Mathieu during Module 3 at Turing School of Software & Design.

The deployed site can be viewed here.

Go ahead and make a user account, and see what you can do!

About

This is a Ruby on Rails application used to organize YouTube content used for online learning. Each tutorial is a playlist of video segments. Within the application an admin is able to create tags for each tutorial in the database. A visitor or registered user can then filter tutorials based on these tags.

A visitor is able to see all of the content on the application but in order to bookmark a segment they will need to register. Once registered a user can bookmark any of the segments in a tutorial page.

Requirements

Technologies

Installation

$ git clone https://github.com/alexander-mathieu/brownfield_of_dreams.git
$ cd brownfield_of_dreams
$ bundle install

Install Node, Yarn and packages:

$ brew install node
$ brew install yarn
$ yarn add stimulus
$ yarn add rails-ujs

Set up the database:

$ rake db:create
$ rake db:migrate
$ rake db:seed

Additionally, you'll need:

  • An API key with YouTube and have it defined within ENV['YOUTUBE_API_KEY']
  • An API key with GitHub and have it defined within ENV['GITHUB-TOKEN']
  • An API key with SendGrid and have it defined within ENV['SENDGRID-API-KEY']
  • A GitHub client ID defined within ENV['GITHUB-CLIENT-ID']
  • A GitHub client secret defined within ENV['GITHUB-CLIENT-SECRET']

Information on setting up a GitHub client ID/secret can be found here.

Running Tests

The full test suite can be run with $ bundle exec rspec.

Example of expected output:

..Capybara starting Puma...
* Version 3.12.0 , codename: Llamas in Pajamas
* Min threads: 0, max threads: 4
* Listening on tcp://127.0.0.1:62536
..............................................................................................

Finished in 10.92 seconds (files took 3.96 seconds to load)
96 examples, 0 failures

Coverage report generated for RSpec to /Users/alexandermathieu/turing/mod_3/projects/brownfield-of-dreams/coverage. 1220 / 1232 LOC (99.03%) covered.

IF TESTS FAILING/VIDEOS NOT LOADING DUE TO MISSING POSITIONS:

$ bundle exec rake videos:set_position_if_missing

Local Exploration

Once installation and database setup are complete, explore the site using the following steps:

  • From the brownfield_of_dreams project directory, boot up a server with $ rails s
  • Open your browser, and visit http://localhost:3000/

About

Brownfield of Dreams is a project building on an existing code base, focusing on BDD, consuming APIs, OAuth with OmniAuth and testing with mocks, stubs and fixtures.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 66.0%
  • Ruby 27.3%
  • HTML 5.4%
  • CSS 1.3%