Skip to content

mbkuhl/futbol

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Futbol

Objective

  • Take data from CSV files, and calculate various statistics, such as "Best Season for a Team", "Winningest Coach", and "Highest Scoring Home Team". We were given a testing suite which we needed to pass in less than 10 minutes. Some tests were considered optional, but should not effect the runtime greatly.

Starter repository for the Turing School Futbol project.

Context

  • This project was given to us in our fourth week at Turing School of Software and Design. We were split into teams of four, and had a secondary objective of learning how to use git and github effectively in a team setting.

  • There is quite a bit of code in this repository that is far from ideal, but I have decided to leave it untouched to demonstrate how I learned clean, DRY, convetional code over the course of my time at Turing.

Concepts Demonstrated

  • Object Oriented Programing Using Ruby

  • Optimization (ASK ME ABOUT THIS): Project Requirement was 10 minutes, fair performance was considered 45 seconds, good performance was under 5 seconds. I was able to get this to run in under 1 second.

  • Primitive Extract and Transform portion of ETL pipeline

  • Use of Github in a team setting for the first time


Initial 10 minute runtime

10 minutes

Optimization down to <5 seconds at the time of submission

Less than 5 seconds

Further optimization down to <1 second after submission

Less than 1 second


Run The Program

Ensure that you are using ruby version 3.2.2

  1. Create a parent repository that can host both the main repository and the test suite

  2. Clone the repo into this parent repository.

    [email protected]:mbkuhl/futbol.git 
  3. Clone the testing suite into the parent repository along the main repo.

    [email protected]:mbkuhl/futbol_spec_harness.git

    The final file structure should look like the following:

    <some_directory>
    |
    |\
    | \<futbol>
    |
    |\
    | \<futbol_spec_harness>
    

4. Gem Bundle for each repo.
 ```sh
  cd futbol
  bundle

  cd ../futbol_spec_harness
  bundle
  1. Run the tests
  bundle exec rspec

Some tests will be skipped. These were the optional tests mentioned above.

If you run into the following error while running bundle exex rspec

  /Users/(your user)/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/bundler-1.16.1/lib/bundler/shared_helpers.rb:266:in `search_up': undefined method `untaint' for "/Users/(your user)/(your file path)/futbol_spec_harness":String (NoMethodError)

    current  = File.expand_path(SharedHelpers.pwd).untaint

delete the Gemfile.lock in the testing suite and rerun bundle install

(back to top)

Contributors

  • Michael Kuhlmeier
  • Miranda Delaney
  • Sooyung Kim
  • Scott DeVoss

Retro

The name of and links (if applicable) to any tools you used for retro

Top 3 things that went well during your project

  • We communicate consistently.
  • We are always willing to help each other.
  • Work was split evenly.

Top 3 things your team would do differently next time

  • Set up github standards better.
  • Discuss helper methods earlier on.
  • Take better breaks.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 100.0%