The Football Analyst application provides coaches, fantasy football players, and football enthusiasts with an in depth look into statistics, play calls, and team tendencies. This app allows the user to focus on specific down and quarter situations, pass distribution, and run locations.
I designed the Football Analyst application with a minamalist approach to appeal to varying types of users. On one end of the spectrum, you have coaches who like as much detail as possible. In the middle, you have fantasy football players who are looking for key statistics on who are the best players to use against specific defenses. On the other end of the spectrum, you have football enthusiasts who love the game of football and are statistic junkies.
As a coach:
- I want to exploit my opponents weaknesses so that my team has a better opportunity to win games.
- I want to filter every pass/run situation so that my team can make better play calls.
- I want to view team by team data so that I can gameplan for a specific opponent.
- I want to filter by the following criteria so that I can see playcall tendancies:
- Pass Location
- Pass to Position
- Run Location
- Run Gap
As a fantasy football player:
- I want to breakdown offensive statistics so that I can choose the best players to play for that week.
- I want to view a summary of team-by-team data so that I can easily spot pass/run tendancies.
- I want to filter pass to position so that I can see which positions get more passes based on opponent.
- I want to view weekly pass vs run plays so I can see which play type they favor against certain opponents.
As a football enthusist:
- I want to view football statistics in an easy to read format so that I can understand the game better.
- Start Tour Button: allows user to take a visual tour of all the features offered in the app.
- Reset Button: allows users to reset all filters on all charts by clicking the button.
- Reset Button (Each Chart): allows users to reset the filters on its own chart by clicking the button.
- Team Select: allows user to filter all graphs based on any team or the entire league by making a selection in the dropdown menu.
- Play Type Select: allows user to filter all graphs based on a run, pass, or all play type by making a selection in the dropdown menu.
- Total Plays Counter: allows user to view how many plays were executed by choosing filters on other charts.
- Total Yards Counter: allows user to view how many yards were gained by choosing filters on other charts.
- Average Yards Counter: allows user to view how many yards were gained per play executed by choosing filters on other charts.
- Weekly Yards Chart: allows users to view how many yards were gained on a weekly basis by a team or the league by making a selection in the "Team" dropdown.
- Weekly Pass vs. Run Chart: allows users to view how many pass/run plays were executed on a weekly basis by a team or the league by making a selection in the "Play Type" dropdown.
- Down Row Chart: allows users to filter all chart results on plays executed on a certain down (1-4) by selecting a bar in the row chart.
- Quarter Row Chart: allows users to filter all chart results on plays executed in a certain quarter (1-5) by selecting a bar in the row chart.
- Complete/Incomplete Pie Chart: allows users to filter all chart results on passes completed or not completed by selecting a slice in the pie chart.
- Pass Location Row Chart: allows users to filter all chart results on pass plays thrown to the left, middle or right by selecting a bar in the row chart.
- Pass to Position Pie Chart: allows users to filter all chart results on passes made to a specific position (e.g. WR, RB, TE, others) by selecting a slice in the pie chart.
- Run Location Row Chart: allows users to filter all chart results on run plays executed to the left, middle or right by selecting a bar in the row chart.
- Run Gap Row Chart: allows users to filter all chart results on run plays executed on the offensive line (e.g. End, Tackle, Guard, N/A) by selecting a bar in the row chart.
- The project uses Flask to run Python as an application.
- The project uses Pymongo to access a MongoDB database in Python.
- The project uses Gunicorn to run a WSGI HTTP server for the application.
- The project uses JQuery to simplify DOM manipulation.
- The project uses Bootstrap to create a responsive and mobile-first thinking website.
- Google Fonts
- The project uses Google Fonts for web-friendly readable fonts.
Product testing was run manually and can be found here
These pages were tested:
- Index Page (Dashboard)
Each of these pages were tested for:
- Layout, image, and font responsiveness to browser width and height resolutions.
- Button and Menu selections.
- Graph transitioning, redrawing, and rerendering due to user choices in the menu and/or other graphs
- Tutorial walkthrough
- The project is hosted on Heroku, deployed through Github and can be found here
- Database deployed on mLab
Differences bewtween Development and Production Versions
|Environment Variables||Locally in .env file||Config vars in Heroku|
- The photos used in this site were obtained from http://www.sportslogos.net/teams/list_by_league/7/National_Football_League/NFL/logos/
- I received inspiration for this project from the game of football. For the love of the game.
- Marc Marquez - Github Page
This project is licensed under the MIT License - see the LICENSE.md file for details