A tool/system for uploading your splatoon3 battle history from NSOAPP to stat.ink
Hosted on Azure now: https://stat.itok.xyz/
And check the running tasks on JobTrackerX: https://tasks.itok.xyz/ (Empty if no one play the game 🙂)
If you want to deploy your own stat.itok, check the deployment guide
Programing languages or frameworks:
- C# for backend functions and worker in Stat.Itok.Func, Stat.Itok.Func.Worker
- Svelte + Bulma CSS for frontend in Stat.Itok.Front
Azure service used:
- Azure Storage
- Blob: Cache battle detail responses.
- Queue: For internal fetch detail job task.
Table: Store raw Nintendo account info(Session Token), store battle id map for deduplication
- Azure Static Web App
- Static Web App
- Backend functions(HTTP Triggers): handle new Nintendo account info(Job Config)
- Azure Functions
- Timer Trigger: Job Dispatcher, regularly check new battles for each Job Config, If any new battles, build a Job Run which contains Job Run Tasks , send the Job Run Tasks to Azure Queue Storage for Queue Trigger
- Queue Trigger:
- Job Worker: Handler for normal detail battle fetch job.
- Job Poison Worker: Handler for bad(poison) detail battle fetch job
- Azure CosmosDB(no SQL api)
- Free(1000RU + 25GB)data store for JobConfig, JobRun and BattleTaskPayload
JobConfig
: Just a entity contains auth info for fetch new battle.JobRun
: A virtual container contains one or manyJobRunTask
.JobRunTask
: A task contains fetch battle detail required information.
This is not a Nintendo or stat.ink official tool.
This tool will store the Nintendo Account's Session Token related info. And If you care about your account's privacy, you should host your own by forking the code and deploy to Azure or anywhere else you want.
No commitment to the reliability