Giter Club home page Giter Club logo

ancient-firefly-5594's Introduction

Tournament of Champions

This repository requires and has been tested on Ruby v2.7.2 and is based on Rails 5.2.6

RSpec and Shoulda-Matchers have been installed and set up.

Setup

  1. fork this repo
  2. clone your fork
  3. git clone <paste_repo>
  4. cd <repo_name>
  5. bundle install
  6. rails db:{drop,create,migrate}

Instructions

  • Work on this assessment independently. DO NOT discuss with anyone.
  • You are allowed to use any references including notes, Google, lesson plans, etc.
  • Read each story carefully before you start working.
  • Commit Frequently, about every 15 - 30 minutes
  • Push your code to your fork once the time is up (not before!)

Submission

Once the time for the assessment is up (and not before), push your code to your fork and create a pull request to the turingschool-examples repository. Include the following:

  • Your Name
  • How far you got through the user stories
    • Please include any user stories you partially complete, for example "completed user stories 1 and 2, really close to completing 3"
  • A reflection on how you felt you did with this challenge

Requirements

  • TDD all new work
  • model methods and relationships must be fully tested.

Not Required

  • No visual styling is required or expected
  • You do not need to test for or create any model validations.

Overview

In this assessment, students will build an application to track sporting competitions, the teams in those competitions, and the players on those teams.

  • Each competition will have a name, location, and sport
    • for example, name: 'Men's Regional', location: 'Louisville', sport: 'basketball'
  • Each team will have a hometown and a nickname
    • for example, hometown: 'Leesburg', nickname: 'Rockets'
  • Each player will have a name and age
    • for example, name: 'Billy Bigshoes', age: 12
  • Competitions have many teams
  • Teams can be in many competitions
  • Teams have many players
  • Players belong to a team

Some of the initial migrations and model set up has been done for you.

User Stories

User Story 1 - Team Index

As a user
When I visit the Team Index
Then I see the name and hometown of all Teams
And under each team I see the names and ages of all its players
User Story 2 - Competition Show Page

As a user
When I visit a competition's show page
Then I see the competition's name, location, and sport
And I see the name and hometown of all teams in this competition
And I see the average age of all players in the competition
User Story 3 - Register a Team

As a user
When I visit a competition's show page
Then I see a text field to enter a team name
When I fill in this field with the name of an existing team
And I click the submit button
Then the team with the name that I submitted is associated with this competition
And I am redirected back to the competition's show page
And I see that the team is now listed among the other teams in the competition

(Note: you do not need to handle any sad paths, for example if the name entered does not match an existing team)

Extension

Extension - Teams sorted by average player age

As a user
When I visit the team index
Then I see that all teams are sorted by their average player age from highest to lowest

(Note: you should only make 1 database query to retrieve the sorted list of teams)

ancient-firefly-5594's People

Contributors

brianzanti avatar karanm645 avatar jamisonordway avatar

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.