Skip to content

Rails app used for hosting video tutorials and classes. Serves as the base repository for a B3 project.

Notifications You must be signed in to change notification settings

Vjp888/brownfield-of-dreams

 
 

Repository files navigation

Brownfield Of Dreams

This is a Turing School of Software and Design Module 3 Backend Project.

This project is designed as a way for Turing students to gain experience in working with pre-existing codebases and understanding the desicions and generated tech-debt of developers in a realworld setting where sometimes making something work is more important than making it looks good.

Brown Field of Dreams was completed by:

See This Project Live!

Project Board

See our workflow here

Each of the cards were labled with a general user feature and direction. We made the adjustment to the board to include a 'Deployed' tab to make organization of what was in production and what was waiting deployment easier to manage.

Learning Goals and Labels

What we hoped to learn:

  • Building on top of an existing codebase
  • Making API calls to Authenticated sources
  • Formatting API data into usable information
  • Handling OAuth securely
  • Generating and sending Email data with Rails
  • Gain a better understanding and empathy for the reason why technical debt accrues
  • Prioritization by working only on relevant code
  • Working with enviromental variables to santize and protect sensitive data

About the Project

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.

Local Setup

Required API keys

In order to run this application locally or live you will need a series of API keys, those keys include:

Initial setup

Clone down the repo

$ git clone

Install the gem packages

$ bundle install

Install node packages for stimulus

$ brew install node
$ brew install yarn
$ yarn add stimulus

Note If Yarn give you an error you can attempt to run $ rm yarn.lock && yarn then run $ yarn add stimulus the issue should resolve

Set up the database

$ rake db:{create,migrate,seed}

Run Figaro

figaro install

Set API keys in app/config/application.yml

  • YOUTUBE_API_KEY - Uses the Youtube API key
  • GITHUB_TOKEN_KEY - Uses your personal Token (Only needed for testing)
  • GITHUB_ID - Uses the OAuth App Client ID
  • GITHUB_SECRET - Uses the OAuth App Client Secret
  • GITHUB_FREIND_TOKEN - A secondary personal token (Only needed for testing)
  • SENDGRID_USERNAME - Needed for live production to send activation and invitation emails
  • SENDGRID_PASSWORD - Needed for live production to send activation and invitation emails

Once those keys are set you will be able to run the test suite with the included cassettes from VCR

If running locally/testing Run mailcatcher to capture outgoing mail

run bundle exec rspec

Technologies

Versions

  • Ruby 2.4.1
  • Rails 5.2.0

About

Rails app used for hosting video tutorials and classes. Serves as the base repository for a B3 project.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 68.7%
  • Ruby 25.0%
  • HTML 5.0%
  • CSS 1.3%