Week 6 #
Links #
Specify here all the necessary links to your website, application installer, final demo, etc.
Deployment: Link to the final, deployed version of the project. #
Code repository: Link to the final code repository state #
API Docs: Link to README, API docs #
Swagger(When backend is running)
Design: Link to Figma #
Final deliverables #
Project overview #
Project Description #
GoalSight is an AI-powered web platform serving as a centralized hub for football analytics. It aggregates advanced statistics from reliable sources like WhoScored, providing intuitive tools for users such as coaches, fans, and journalists to analyze teams, matches, and tournaments efficiently. The focus is on simplifying data access, enabling quick insights, and enhancing engagement through predictive features.
Problems It Solves #
GoalSight tackles common challenges in football data handling:
- Coaches spend excessive time manually collecting data from various platforms for match preparation and training.
- Fans struggle with accessing clear, advanced stats for teams and tournaments, which reduces their engagement.
- Journalists and analysts waste effort on verifying and organizing data from fragmented, hard-to-navigate sources.
- Overall fragmentation leads to inefficiencies, lost strategic opportunities, and lower interaction with valuable football data.
Key Features #
- Interactive Visualizations and Summaries: View basic team statistics like goals, possession, and xG upon expanding a team.
- Intuitive Search and Filtering: Easily select teams and metrics for quick overviews and comparisons.
- AI-Based Match Predictions: Select any two teams to generate real-time probabilities for win, draw, or loss, based on historical data.
- Upcoming Matches Overview: Home page displays a list of future games with predicted win probabilities.
- Centralized Data Hub: User-friendly interface integrating stats from APIs, with navigation for all user types.
Features #
- Home page displaying upcoming matches (e.g., FIFA Club World Cup 2025 fixtures) with win probability percentages.
- Team selection interface for choosing two teams from a list (e.g., Real Madrid, Juventus, Paris Saint-Germain) to run AI predictions.
- Real-time match forecast generation, showing outcomes like “Real Madrid vs Juventus: 32% - 67%”.
- Expandable team views revealing basic statistics such as goals, possession, and xG.
- Integration with data APIs (e.g., WhoScored) for aggregating reliable football metrics.
- Simple predictor explanation: Steps to select teams and get AI-powered match probabilities.
- Basic navigation including home, tournament views, and predictor tool.
Tech stack #
Technology:
- Frontend: Node.js 18, React 18, TypeScript, Tailwind CSS, Axios for API calls
- Backend: Python, Django
- Database: PostgresDB
- Other tools: REST API
Setup instructions #
Quick Start #
Using Docker #
- Clone the repository:
git clone https://github.com/IU-Capstone-Project-2025/GoalSight.git cd GoalSight - Decrypt the environment variables file:
cd docker/local gpg --decrypt .env.gpg > .envYou will need a password to decrypt. If you don’t have it, contact the team lead.
- Start the services:
docker-compose up --build
- Backend: http://localhost:8000/
- Frontend: http://localhost:3000/
Plan for the live demo. #
- Start at the Home Page
- Show Team Stats Functionality
- Navigate to the Predictor/Teams Page
- Demonstrate AI Predictor
- Interactive Q&A
Presentation draft #
Individual contribution of each participant #
Arina Zimina:
- API docs | See README.md
- Collecting data for dataset
- Cleaning the code (removing unused parts) & comments on the code| Link to commit
- Enabling ssl certificates and adding a https connection | Link to commit
Artem Panov:
PM:
- Template for individual contribution of each participant part in report.
- Meeting organization and Task distribution | Link to Kanban board in Weeek
ML:
- Data Preprocessing Update (PCA) | Link to commit
- Adding time scales for all model features | Link to commit
- Cleaning the code (removing unused parts) | Link to commit
- Comments on the code | Link to commit
- Description of the ML part for frontend | Link to google disc
Karina Siniatullina:
- Prediction on home page. | On the home page, where there are upcoming matches, there is now a button to predict the result for each upcoming match. | Link to commit
- Statistics info. | Added info about each statistic and changed its design. | Link to commit
- More statistics. | Added more statistics for all teams and added tabs and their distribution. | Link to commit
- Forecast panel. | Added a logo to the commands and changed the text of the description of how the forecast is calculated. | Link to commit
- Component tests. | Сhanged the unit tests because the design of some components has changed. | Link to commit
- Figma. | Added the Final version frame, which displays the entire final design of the site. | Link to commit
- Comments for part of frontend side. | Added comment for component tests, cypress test and ui components. | Link to commit
Egor Sergeev:
- Create a draft presentation | Link to Figma Slides
- Write a weekly report.
Egor Agapov:
- Transferring the project to another staging server
- Fixing frontend tests (integration API tests and e2e test) | Link to first commit | Link to second commit
- Enabling ssl certificates and adding an https connection | Link to commit
- Building a single pipeline without dividing it into a frontend and backend part | Reducing the test run time in the pipeline when pushing | Link to commit
- Making the Goalsight label clickable and linking to the homepage and changing some of the displayed text on the pages | Link to commit
- Correcting the translation of the website into Russian | Link to commit
- Writing comments for the frontend part of the project | Link to commit
Weekly commitments #
Plan for Next Week #
Successfully present our project to TAs and peers.