Skip to content

Player statistics overhaul #604

Closed
@hburn7

Description

@hburn7

Feature Name

Overview

Update various DTOs related to player dashboard stats.

Dependencies

None.

Notes

To accurately test this, a local copy of statistics will be needed. To obtain this, you must do the following:

  • Clone the otr-processor repo and set it up
  • Setup the DataWorkerService appsettings configuration
  • In the DataWorkerService config, disable OsuTrack and Osu under "Players" and enable "Tournaments"
  • Run the script under scripts/sql/dev/accept-all-pre.sql
  • Let the DataWorkerService run until all tournaments have a ProcessingStatus of 4.
  • Stop the data worker, then run the otr-processor, it should generate ratings and stats for each verified tournament.
  • Run the DataWorkerService again until all tournaments have a ProcessingStatus of 5.

Tasks

  • Rename PlayerStatsDTO to PlayerDashboardStatsDTO
  • In PlayerFrequencyDTO, remove all fields except Frequency and replace the removed fields with a PlayerCompactDTO representing the teammate or opponent.
  • Change the PlayerDashboardStatsDTO to store an IEnumerable<PlayerRatingChartDataPointDTO> instead of a PlayerRatingChartDTO
  • If it does not exist, create a MatchCompactDTO which contains basic information about a match (no navigations).
  • Replace the int? MatchId field on RatingAdjustmentDTO with a new MatchCompactDTO? Match field.
  • Add a Mods field to ModStatsDTO to indicate which mod it belongs to.
  • Return a list of ModStatsDTO dynamically populated instead of a static DTO.
  • Rename ModStatsDTO to PlayerModStatsDTO and document to reflect that this DTO should only be used to represent a player's mod stats rather than overall stats for the mod.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions