1 Background and motivation
IIT Bombay’s General Championship involves results and standings that need to remain understandable across events and hostels. When records are spread across manual updates and spreadsheets, readers can have difficulty determining which score is current. As part of the ITC Web Team, I worked on the GC Portal to bring event information, result entry, and the public leaderboard into a shared workflow.
2 Application structure
The documented stack combines a React frontend with Django REST Framework and PostgreSQL. The frontend presents schedules, event information, and results, while the backend maintains the records used by those views. Separating administration from public presentation lets organizers update information without giving every viewer access to result-management operations.
My work included the administration flows for adding and updating results and the interface for viewing standings. The purpose was to make a result’s path from entry to public display easier to manage, with scoring and update behaviour treated as part of the system rather than formatting applied only at the end.
3 Results workflow
An organizer’s update needs to change the relevant event record and be reflected consistently in the standings. Corrections are especially important: the public view should follow the latest accepted result instead of preserving a previous value in a separate manually edited table. A shared backend gives those screens a common source, while the interface provides the context needed to understand which event contributed to the score.
The repository documents deployment through GitHub Actions with Nginx and Gunicorn. That arrangement supports maintaining the frontend and API as a deployed service rather than a one-time event page. Updates need to account for database changes as well as interface changes, since a leaderboard is only as reliable as the records it displays.
4 Engineering focus
The central concern was correctness and clarity during periods when many students were following the same results. The project record does not include a reproducible load benchmark, so the report does not attach a throughput figure to that goal. Its contribution was consolidating the workflow and making standings accessible through a maintained web application.