Repository navigation
Project Documentation

Color palette

Usage Guidelines
- Header/Footer Background: Cal Poly Green
- Primary Buttons: Saffron with Black Olive text
- Secondary Buttons: Screamin' Green with Lavender text
- Text: Black Olive for main text
- Background: White for main content areas, Light Gray for secondary areas
- Alerts/Notifications: Red (#FF0000) for errors, Blue (#0066CC) for information
The design choices made for the UI elements seek to create a visually appealing and functional experience that reflects the platform’s identity. The use of Cal Poly Green for the header background ensures a strong brand presence. Primary buttons in Saffron with Black Olive text draw attention and encourage action, while Secondary buttons in Screamin’ Green with Lavender text provide a visually distinctive option without detracting from the primary buttons. Primary text in Black Olive ensures readability and contrast across all areas. White background for the main content areas and light grey for the secondary areas create a clear visual hierarchy and make for easy reading. Finally, colors for alerts and notifications (red for errors and blue for information) ensure that these messages are easily identifiable and clearly differentiated from the rest of the content.
The docs folder contains the schema for the data and the component map.
For API we used api-sports.io for the realtime stats, and the gemini free tier for the LLM integration for insights.
For the Tech stack we used Node.js with react for the frontend, python with flask for the insights, and Node.js with express for the backend, with a MongoDB in a docker container as the database.
User guides
run the frontend with npm i then npm start
run the backend with npm i then node --env-file .env server.js
and the python script with pip install -r requirements.txt then python app.py
example .env folders are provided for the required environment variables (Google API, Sports API, mongodb uri, etc)
API documentation
The following link contains the project's API documentation, for this point we made use Postman.