https://github.com/cardoso010/nfl_rushing
theScore "the Rush" Interview Challenge
https://github.com/cardoso010/nfl_rushing
bootstrap docker ecto elixir liveview phoenix tdd
Last synced: 3 months ago
JSON representation
theScore "the Rush" Interview Challenge
- Host: GitHub
- URL: https://github.com/cardoso010/nfl_rushing
- Owner: cardoso010
- Created: 2021-01-14T16:47:09.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2021-01-22T15:32:41.000Z (over 5 years ago)
- Last Synced: 2025-06-24T15:55:03.166Z (about 1 year ago)
- Topics: bootstrap, docker, ecto, elixir, liveview, phoenix, tdd
- Language: Elixir
- Homepage:
- Size: 505 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# theScore "the Rush" Interview Challenge
[](https://github.com/cardoso010/nfl_rushing/actions)
[](https://github.com/cardoso010/nfl_rushing/actions)
At theScore, we are always looking for intelligent, resourceful, full-stack developers to join our growing team. To help us evaluate new talent, we have created this take-home interview question. This question should take you no more than a few hours.
**All candidates must complete this before the possibility of an in-person interview. During the in-person interview, your submitted project will be used as the base for further extensions.**
### Why a take-home challenge?
In-person coding interviews can be stressful and can hide some people's full potential. A take-home gives you a chance work in a less stressful environment and showcase your talent.
We want you to be at your best and most comfortable.
### A bit about our tech stack
As outlined in our job description, you will come across technologies which include a server-side web framework (like Elixir/Phoenix, Ruby on Rails or a modern Javascript framework) and a front-end Javascript framework (like ReactJS)
### Challenge Background
We have sets of records representing football players' rushing statistics. All records have the following attributes:
- `Player` (Player's name)
- `Team` (Player's team abbreviation)
- `Pos` (Player's postion)
- `Att/G` (Rushing Attempts Per Game Average)
- `Att` (Rushing Attempts)
- `Yds` (Total Rushing Yards)
- `Avg` (Rushing Average Yards Per Attempt)
- `Yds/G` (Rushing Yards Per Game)
- `TD` (Total Rushing Touchdowns)
- `Lng` (Longest Rush -- a `T` represents a touchdown occurred)
- `1st` (Rushing First Downs)
- `1st%` (Rushing First Down Percentage)
- `20+` (Rushing 20+ Yards Each)
- `40+` (Rushing 40+ Yards Each)
- `FUM` (Rushing Fumbles)
In this repo is a sample data file [`rushing.json`](/rushing.json).
##### Challenge Requirements
1. Create a web app. This must be able to do the following steps
1. Create a webpage which displays a table with the contents of [`rushing.json`](/rushing.json)
2. The user should be able to sort the players by _Total Rushing Yards_, _Longest Rush_ and _Total Rushing Touchdowns_
3. The user should be able to filter by the player's name
4. The user should be able to download the sorted data as a CSV, as well as a filtered subset
2. The system should be able to potentially support larger sets of data on the order of 10k records.
3. Update the section `Installation and running this solution` in the README file explaining how to run your code
### Submitting a solution
1. Download this repo
2. Complete the problem outlined in the `Requirements` section
3. In your personal public GitHub repo, create a new public repo with this implementation
4. Provide this link to your contact at theScore
We will evaluate you on your ability to solve the problem defined in the requirements section as well as your choice of frameworks, and general coding style.
### Help
If you have any questions regarding requirements, do not hesitate to email your contact at theScore for clarification.
## Requirements
Resources that must be installed for this project to work.
- [docker](https://docs.docker.com/install/)
- [docker-compose](https://docs.docker.com/compose/install/)
### Installation and running this solution
This project uses docker-compose.
First of all you need to build the container
```shell
docker-compose build
```
Now is necessary that you run setup to get dependencies, create database, create migrations and run seed.
```shell
docker-compose run web mix setup
```
Then you up your container
```shell
docker-compose up
```
Now you can visit [`localhost:4000`](http://localhost:4000) from your browser
Or you can visit [`nflrushing.herokuapp.com`](https://nflrushing.herokuapp.com/) as well.