Code Monkey home page Code Monkey logo

futbol's Introduction

Futbol

Welcome to the README for the Futbol project.

Project Description

  • We used data from a fictional soccer league to do analysis on team performance given specific season or across multiple seasons.
  • We wanted to see determined statistics such as best and worst performances, best and worst coaches, most and least accurate teams, most and least tackles, etc.
  • Anything of value in terms of gathering information on a team to be able to gauge their performance was tracked and used.
  • The dataset was gathered using CSV files. Since the data set was so large, we broke down the CSV files into smaller ones to test bits of data rather than the entire thing. This helped as we weren't using the entire 5000 plus data points every time we wanted to test our methods.
  • 100% lines of coverage when using simple cov testing. This means every single line of code is tested and has passed its test.

Goals

Some of the main goals from this project were:

  • Building classes with single responsibilities
  • Writing organized legible code using the DRY method
  • Using Test Driven Development to help reduce amount of errors and improve code quality
  • Designing Object Oriented Solutions to problems
  • Practice algorithmic thinking
  • Working in a group environment to foster teamwork
  • Using Pull Requests to collaborate with multiple partners with comments to mimic a real life work setting

====Directory====

Class Files

  • calculator.rb : Module used for calculations across classes
  • data_collector.rb : Module used for repetitive data parsing - Helped achieve DRY (Do not repeat) and PORO (Plain Old Ruby Objects)
  • game_team_tracker.rb : Class holding methods to extract specific data points for game team class
  • game_tracker.rb : Class holding methods to extract specific data points for game class
  • season_tracker.rb : Class holding methods to extract specific data points for teams and game teams classes
  • stat_tracker.rb : Class holding methods to hold entirety of project methods
  • statistics.rb : Class that was responsible for turning CSV data into ruby objects
  • team.rb : Class that held attributes for objects extracted from teams.csv
  • team_tracker.rb : Class holding methods to extract specific data points for team class
  • game.rb : Class that held attributes for objects extracted from game.csv
  • game_team.rb : Class that held attributes for objects extracted from game_team.csv

Spec Files

  • game_spec.rb : manages the tests for our game class
  • league_spec.rb : manages the tests for our league class
  • season_tracker_spec.rb : manages the tests for our season tracker class
  • stattracker_spec.rb : manages the tests for our stat tracker class
  • team_spec.rb : manages the tests for our team spec class

Data Files

  • average_goals_by_season.csv : CSV file containing the data for the average goals by season
  • game_teams.csv : CSV file that contains game team data with data such as home or away, coach, etc.
  • game_teams_stub.csv : CSV dummy file created to contain game team data with home or away, coach, shots, goals, etc
  • games.csv : CSV file containing the data for season, home and away team id, home and away goals, etc.
  • games_stub.csv : CSV dummy file created that contains some data for season, home and away team id, home and away goals, etc.
  • games_stub_2.csv : CSV dummy file created that contains some data for season, home and away team id, home and away goals, etc.
  • teams.csv : CSV file containing the data for franchise id, team name, stadium, etc.
  • teams_stub.csv : CSV dummy file created to hold some of the data for franchise id, team name, etc.

Additional Files

  • runner.rb : runs the project
  • README.md : what you are currently reading, explains the project

Contributors

Greg Flaherty || github: gregoryjflaherty

Joe Galvin || github: jwgalvin

Adrian Campos || github: adriancampos29

Jimmy Page || github: jpage13

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.