Skip to content

Conversation

@mudassirl6
Copy link


title: [WPM] Add WPM functionality to race results and tracking

Discord Username: @mudassirl6

What type of PR is this? (select all that apply)

  • πŸ• Feature
  • πŸ› Bug Fix
  • 🚧 Breaking Change
  • πŸ§‘β€πŸ’» Code Refactor
  • πŸ“ Documentation Update

Description

Added Words Per Minute (WPM) functionality throughout the application to provide users with a standard typing speed metric. WPM is calculated as CPM/5, which is the industry standard calculation. This enhancement improves the user experience by providing a more familiar metric alongside the existing CPM measurement.

Changes include:

  • Added WPM field to database schema
  • Added WPM display to race results page
  • Added WPM column to recent races table
  • Added WPM to performance comparison chart
  • Added WPM to result chart
  • Updated race tracking to calculate and store WPM in real-time

Related Tickets & Documents

  • Related Issue # (if applicable)
  • Closes # (if applicable)

QA Instructions, Screenshots, Recordings

To test these changes:

  1. Start a new race
  2. Complete the race
  3. Verify WPM is displayed on the results page
  4. Check that WPM appears in:
    • Race results card
    • Recent races table
    • Performance comparison chart
    • Result chart
  5. Verify WPM calculation is correct (CPM/5)
  6. Check that WPM is stored in the database

UI accessibility concerns?

The WPM metric has been added with the same accessibility considerations as the existing CPM metric:

  • Clear labeling
  • Tooltip explanations
  • Consistent color contrast
  • Screen reader compatibility

Added/updated tests?

  • πŸ‘ yes
  • πŸ™… no, because they aren't needed
  • πŸ™‹ no, because I need help

[optional] Are there any post deployment tasks we need to perform?

Database migration needs to be run to add the WPM fields:

npx prisma migrate deploy

[optional] What gif best describes this PR or how it makes you feel?

Speed typing

@mudassirl6
Copy link
Author


title: [WPM] Add WPM functionality to race results and tracking

Discord Username: @mudassirl6

What type of PR is this? (select all that apply)

  • πŸ• Feature
  • πŸ› Bug Fix
  • 🚧 Breaking Change
  • πŸ§‘β€πŸ’» Code Refactor
  • πŸ“ Documentation Update

Description

Added Words Per Minute (WPM) functionality throughout the application to provide users with a standard typing speed metric. WPM is calculated as CPM/5, which is the industry standard calculation. This enhancement improves the user experience by providing a more familiar metric alongside the existing CPM measurement.

Changes include:

  • Added WPM field to database schema
  • Added WPM display to race results page
  • Added WPM column to recent races table
  • Added WPM to performance comparison chart
  • Added WPM to result chart
  • Updated race tracking to calculate and store WPM in real-time

Related Tickets & Documents

  • Related Issue # (if applicable)
  • Closes # (if applicable)

QA Instructions, Screenshots, Recordings

To test these changes:

  1. Start a new race
  2. Complete the race
  3. Verify WPM is displayed on the results page
  4. Check that WPM appears in:
    • Race results card
    • Recent races table
    • Performance comparison chart
    • Result chart
  5. Verify WPM calculation is correct (CPM/5)
  6. Check that WPM is stored in the database

UI accessibility concerns?

The WPM metric has been added with the same accessibility considerations as the existing CPM metric:

  • Clear labeling
  • Tooltip explanations
  • Consistent color contrast
  • Screen reader compatibility

Added/updated tests?

  • πŸ‘ yes
  • πŸ™… no, because they aren't needed
  • πŸ™‹ no, because I need help

[optional] Are there any post deployment tasks we need to perform?

Database migration needs to be run to add the WPM fields:

npx prisma migrate deploy

[optional] What gif best describes this PR or how it makes you feel?

Speed typing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant