Watch and Learn

Project Description

For this project, you will be building on top of a pre-existing Rails app used for hosting educational programming videos, found here.

Why?

Up until now you have been building Rails apps from scratch. Most Turing grads go on to work on existing code bases, or “legacy” projects. Building on top of existing code presents a different set of challenges. Technical debt and the decisions of the past frequently present unanticipated challenges. Understanding how your decisions impact a team is an important part of learning how to write maintainable software. You also rarely have time for a complete rewrite so deciding what to care about and when becomes as important a skill as being able to write code.

Learning Goals

Explicit

Below are technical goals that you should be applying in this project.
The priority of these goals are demonstrated using a star grading system.
By the end of this project:
Student should have a functional understanding of the concept ⭐ ⭐ ⭐
Student should have a familiar understanding, but may still have questions ⭐ ⭐
Student should know of the concept, but need further resources to implement ⭐

  • 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 ⭐ ⭐
  • Build on top of existing code, whether it’s great code or full of technical debt ⭐
  • Send email from a Rails application ⭐
  • Configure Continuous Integration using Travis CI ⭐
  • Deploy to Heroku ⭐

Implicit

Below are skills that are more general/necessary on the job that are practiced by completing the goals above.

  • Reading Documentation
  • Implementing concepts that are not explicitly taught
  • Practice individual research (articles, videos, mentors)
  • Team communication
  • Prioritizing goals/user stories
  • Time management
  • Empathy for teammates that might work with your code in the future (or future you!)

Project Requirements

View the README on Github.

Retro Guide

Use this retro guide during the scheduled retros for this project.

Peer Code Share

Complete the activity here

Evaluation

Your project will be evaluated based on this rubric.

Lesson Search Results

Showing top 10 results