Upload Module
Column Mapping
Problems Users
needed to map uploaded sheet columns to database keys, which was time-consuming.
SolutionsImplemented dropdown-based mapping for tables &
keys and stored reusable mappings in a cache table.
Repetitive Mapping
ProblemsUsers
frequently uploaded sheets with the same structure, forcing repeated manual mapping.
SolutionsEnabled saving mapping configurations in the
database so they can be automatically reused.
Handling Related Sheets
ProblemsMatch info
sheets and scoreboard sheets required manual linking.
SolutionsIntegrated Cricsheet’s unique match ID to
automatically link scoreboard and match info records.
Reports Module
Static Report Generation
ProblemsReports were hardcoded, making it difficult to scale or add new report types.
SolutionsDesigned a dynamic report system where queries/functions are stored in the database, enabling scalable and flexible report creation.
Report Speed Optimization
ProblemsReports were slow when handling large datasets.
SolutionsImplemented a performance strategy by fetching data in a single query, computing in JavaScript, caching results in Redis, and applying horizontal scaling for better performance.