Colby Athlete Management System
The Colby Athlete Management System (CAM) is a dashboard designed for Colby College athletes, coaches, and admins to view athlete and team data for the purpose of analyzing metrics to determine recovery, health, and readiness for sport. This project was proposed by Dr. Anne Beethe, the Director of Peak Performance, at Colby to a group of six to create a platform over the course of four month. Recently the code was revised again, solely by me. She asked for a playform to display information that the college collects on athletes for the three different user types and therefore differing permissions to avoid mishandling information and promote clear communication of information for each user. Her requirements were that the athlete can only see their own information, a coach can see the team and each athlete in it, and the admin can see all information for all teams. She also requested a dark theme to the design.
Above is a demo of what the different users see: admin, coach, athlete.
For data, she provided anonymized data from real athletes. This data was provided in the form of three csv files: readiness, nutrition, and sleep. Because the data was anonymous there there was no way to differentiate the data entries. For the purpose of making the logic work a small sample of the data was used with assigned numbers in place of athlete names. Teams were also assigned to the csv to differentiate athletes. The csv files contain eight athletes belonging to four different teams: Football, Skiing, Soccer, and Trach. The data does provide the information used in the dial graphics.
When the flask app is run it creates a Flask and SQLAlchemy relational database. The database type is SQLlite. This createse several different tables including: user, hawkins, nutrition, sleep, and readiness. Due to user_id the database is able to pull information for one specific user. Currently in this version of the app the database is storing the three different demo users given: Anne (admin), John (coach), athlete (athlete) and lets the app show them the different and correct views and therefore protect sensitive information and data viewing. The actual data for the athletes comes from the csv.
The app is successful in having three different user types with specific viewing capabilities, using csv data to populate graphics, using a databae to store users. Future iterations, or wishlist additions, include signup features for new athletes, give the admin more control including deleting users, giving admin users ability to write notes, giving athletes the ability to add information, and giving more informative data from the stats given.
Back to Top