Skip to content

corndogit/maimai-score-tracker

Repository files navigation

Maimai Score Tracker

A web-based score tracker for manually recording scores from maimai FiNALE.

Description

Maimai Score Tracker is a single-page web application for manually keeping track of maimai FiNALE scores at locations where online play is not supported. Users can submit scores for each play, which includes chart information and score details, which is stored in local browser storage. Scores can then be viewed or exported in JSON to use with other score tracking services. A batch import can also be used to add scores in bulk to Maimai Score Tracker.

Features

  • Submit scores for any chart (Basic to Re:Master) from maimai FiNALE
  • View scores in a table and filter by name
  • Export scores as JSON and upload scores directly to Kamaitachi
  • Bulk import scores from JSON

Developer Setup

Maimai Score Tracker uses React 19 and Vite and requires the following:

  • Node v22.14.0 LTS or higher
  • Docker

WSL is also recommended on Windows machines but not a strict requirement

Local deployment

Clone the repo, run npm install and npm run dev to start the dev server. Recommended for developing new changes.

To test against a production build, either run npm run build and npm run preview, or use the Docker build & deployment script

Docker deployment

A script named docker-build.sh is provided to build and run the application in production mode. To start it, run ./docker-build.sh run

To-do

Phase 1

Core functionality of the application

User story: As a MaiMai FiNALE player, I want to add all my scores from a session to a single JSON payload that can be batch imported into Kamaitachi

Tasks (click to expand)
  • Finish building UI skeleton
  • Create seed data and mechanism to load in-memory
  • Create data types for songs & scores
  • Add logic to add a song
    • Stretch: calculate rating
  • Add logic to view scores in a table
  • View the current scores
    • Stretch: search and filter in view scores page
  • Create a JSON payload of scores
  • Import scores from a file
    • Stretch: score validation on imported scores
    • Stretch: De-duplicate scores Won't do
  • Homepage
  • Help & About
  • Containerize
  • Deploy and make public

Phase 2

Persistence in local storage, improvements and nice to haves

User story: As a MaiMai FiNALE player, I want somewhere to persist and view all of my scores and score history

Tasks (click to expand)
  • Create data types for user and settings
  • Persist scores and settings in local storage
  • Allow bulk export of the user's scores from the tracker
  • Allow users to add their Tachi API key to do an export to Kamaitachi
  • Allow users to view individual scores
  • Calculate and display MaiMai DX rating on individual scores

Future work

Implement a back-end to allow account creation and syncing of scores to the server. Still thinking about this, kind of like having it as an all-in-one tool as it stands, requires a big chunk of work and unsure if users would find it useful.

User story: As a MaiMai Score Tracker user, I want to back-up my scores and sync them across devices

Tasks (click to expand)
  • Finish designing a basic REST API for sending and receiving user/score data
  • Allow user to register and log-in
  • Allow syncing of the user's scores to/from the back-end
  • Add persistence to the back-end

Licensing

Licensed under MIT License. This is an unofficial fan-made tool and not officially endorsed by Sega.

About

A score tracker for manually tracking offline maimai FiNALE scores.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors 2

  •  
  •  

Languages