Giter Site home page Giter Site logo

hymm / squid-tracks Goto Github PK

View Code? Open in Web Editor NEW
134.0 21.0 25.0 5.43 MB

An Unofficial Desktop Client for Splatnet2

HTML 0.76% CSS 1.67% JavaScript 97.57% Shell 0.01%
splatoon splatoon2 splatoon-2 electron-app electron react react-bootstrap react-router-v4

squid-tracks's Introduction

SquidTracks

An unoffical desktop program for viewing splatnet 2 statistics and uploading them to stat.ink. Splatnet 2 only records the most recent 50 games and this tool is for uploading the game data to stat.ink for longer term access. There is also some data that splatnet 2 does not display. This program gives access to that data too.

Installing

Currently Windows (exe), OS X (dmg, mac.zip), and Linux (AppImage) are supported. Get the packages here https://github.com/hymm/squid-tracks/releases

Installing on Windows

Download installer .exe from https://github.com/hymm/squid-tracks/releases. You will get a warning when running the installer. Bypass the warning by clicking "more info" and then "Run Anyways."

Installing on Mac

Installing on Linux

Contributing

If you're interested in contributing feel free to contact me or create a pull request. Check issues to see if there's anything you would be interested in working on. Help with translations is especially welcome. See here for information about development.

Built With

  • Electron
  • create-react-app
  • React
  • Bootstrap
  • Travis

Alternative stat.ink Clients

  • splatnet2statink command line python uploader
  • ikaLog If you have a capture card, this program can provide a lot more information. What weapons you're killed by, other onscreen events, ect. I'm unsure how well it support Splatoon 2.
  • stat.ink The button on the top right allows you to enter data manually.
  • ikaRec Manually enter data using this android app.

Contributors

Acknowledgements

squid-tracks's People

Contributors

dansyor avatar hymm avatar mathewthe2 avatar mcescalante avatar nsuzue avatar okuraku avatar wkoichi avatar zelenkachris avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

squid-tracks's Issues

localize for other languages

At least the info retrieved from the splatnet api should display in users native language.

Other strings in the app should be pulled out and localized to at least ja-JP. Will need to depend on other users for this.

data export

make it possible to export data from squid tracks to an external file or clipboard

  • export to json file
  • copy json to clipboard
  • export to csv file
  • copy csv to clipboard?

get weapon map and stage map from stat.ink

if we don't pack these files, users will be able to edit them when new stuff comes out.

Probably not too important right now, but may come in handy in the future if I'm unable to push updates for a bit

Move strings of app into json lookup for easier localization

using react-intl. a yahoo project. Had some nice tooling for pulling the strings out and creating translation files.

  • pull locale from splatnet or desktop, if no locale is set
  • login
  • schedule
  • settings
  • result controls
  • results details
  • records
  • results summary
  • last 50 battles

Version 1 Roadmap

This is a list for what I hope to implement for version 1. Some of them may slip to 1.x version updates.

Probably won't make version 1.0

  • Figure out hot to get a smaller nintendo oauth login page
  • Use custom graphics for weapon icons
  • Feature parity with splatnet 2
  • Save records to local disk for viewing
  • Make sure session token is invalidated on getSessionWithSessionToken error
  • look into how to use babel on backend process to make code syntax consistent
  • start autoupload on startup option
  • add check for updates button

For Final Version 1.0

  • desktop icon
  • add support for stat.ink gender #17
  • possibly change background of details to stage map
  • split last 50 battles into multiple tables
  • add expected special (inked/special cost) on battle details
  • Prettier autoupdate status page
  • strikeout battles on 50 battles list if there's a dc #43
  • gear view for last 50 battles
  • backup stat.ink upload status to cloud #52
  • Figure out how to use travis to build for linux and windows

For 0.3.4

  • fix exception reporting (google analytics)
  • clean up login process and show status
  • clean up behavior when theres no internet connection #12
  • auto login and logout with session cookie
  • lift polling logic up to the app level
  • finish #81
  • add intl support for settings page #15
  • add google analytics (see https://github.com/hymm/squid-tracks/projects/2) #13
  • indication on timeline of rule
  • handle stat.ink and splatnet errors better

For 0.3.3

  • Figure out how to use travis to build for mac (linux and windows not working)
  • fixed bug with radar charts crashing app

For 0.3.2

  • get weapon and stage maps from stat.ink #42
  • fixed annie store
  • fixed battle details not showing sometimes
  • prettier battle details
  • color details with lobby type

For 0.3.1

  • add warnings and info about using cookie login
  • alternative login with cookie hijacking
  • upload all battles not uploaded. (means error handling from stat.ink needs to be better)
  • trend for last 50 battles
  • added start day and combine hero weapons to league data tab
  • change all sendSyncs to send (async)

add user tracking

Should track:

  • locale
  • operating system
  • version
  • startup
  • page views

Maybe Track:

  • button presses
  • uploads

Wrong inked surface value uploaded to stat.ink for wins

On stat.ink, the value for "Turf Inked + Bonus" lacks the 'P' character (ex: "750" instead of "750P") in the case of wins, causing the site to only display "?" for "Inked" for wins when listing battles.
Note that when editing battle stats on stat.ink, an integer value (i.e. a string of numbers not ending with 'P') seems required, so the issue for that 'P' to appear (and that value to appear in listings) may lie somewhere else.

add session stats

min, max kills, painting, ect.

a session could be when you start-stop autoupload.

List of Graphics needed

  • application icon

Mode Icons for Last 50 Battles table

  • league battle pair
  • league battle team
  • private battle
  • regular battle
  • ranked battle

Rule Icons

  • Turf
  • SZ
  • TC
  • RM

All Weapons

  • all weapons

Overhead of all maps

  • all maps ...

Abilities

  • all abilities

Gear

  • all gear

Text Edits

A bunch of text edits suggested by Selky

About Page

  • rewrite stat.ink setup instructions
  • Home Page needs intro
  • Auto upload #4 needs grammar corrections
  • Need a better term for Polling Checking?
  • Delete AutoUpload step #3
  • Ready to poll Again?
  • Note is not obvious move to top of section until problem is corrected
  • Change pull down menu to drop down menu
  • Manual upload #2 Name table Table for Last 50 Battles

Results Page

  • Change "Results" name to something else. "Battle History" maybe?
  • Add # to Battle #X Details
  • Change "Their Team" to "Enemy Team"?
  • Add units to elapsed time
  • Nickname -> Player
  • Results Summary -> Last 50 Battles Summary
  • Results -> Last 50 Battles

Upload all battle history at once?

Thanks for this awesome app!
One tiny problem is, I can only upload battle history one by one? First time using this would require me to upload all 50 by hand.
And the dropdown menu is too long. Not very beautiful :)
snipaste_20170819_134658

Besides, I've posted your repo link in a Chinese game forum for splatoon. Happy to help with translation if needed, and if Splatoon would have Chinese version.

add a setup wizard for settings.

add a setup wizard for settings. When we get more settings it'll be nice to have a setup wizard to make things easier for more users. One problem I foresee with this is localization.

image

problem with universal analytics

getting the error:
Critical dependency: the request of a dependency is an expression
when using the package universal-analytics

Not correctly tracking latest battle

Appear to be having an issue after the battle count ticked from 999 to 1000, the list is being sorted in the wrong order and it appears to think 999 was the latest battle whenever checking, meaning it can't automatically upload battles as they come in.
170820100840_d1f 1

Roadmap to Version 0.3.0

For 0.3.0

  • added anonymizer for people who like to screenshot
  • add custom jr momiji
  • add tracking for unhandled error
  • add support for new splatnet fields to stat.ink export #17
  • export last 50 battles to csv #53
  • strikeout player on battle details if there's a dc
  • add max values to radar charts
  • add support for annie store
  • added fest power to battle details
  • fixed bug in battle details when players use the same name
  • fixed records page displaying sz, tc, and rm ranks the same
  • fixed bug with stat.ink uploaded status being assigned to the wrong battle
  • added ability to turn on fiddler proxy with environment variable

For 0.2.4

  • removed turf bonus points for ranked games
  • add option to switch user language #25
  • show level in team tables (more info)
  • added radar charts
  • added json copy to clipboard
  • add power to last 50 battles table
  • added translation support to results, records, and schedule
  • calculation for per minutes stats was wrong, now fixed
  • removed s+ numbers from details, splatnet was not sending the real numbers
  • removed bonus from turf inked for ranked games uploaded to stat.ink
  • added logging of uncaught errors to help with debugging
  • add support for stat.ink fest attributes #17

For 0.2.3

  • change stat.ink image from image_judge to image_result
  • show session token expiration date on settings page
  • added iksm tokem for debugging purposes
  • show unuploaded battles on last 50 battles table
  • change arrows to increment through array instead of battle number #31
  • accept stat.ink 302 errors #36
  • memoize or cache getting game details
  • option to show stats as a rate on last 50 battles
  • add forge pro
  • add sloshing machine
  • add manta maria
  • add highlighting for pure and shiny gear
  • move stat.ink upload info into separate file

For 0.2.2

  • add sort order to details table
  • add image from splatnet to stat.ink upload #18
  • switch to gear used on battle details page
  • change details table to display k+a(a) and k - d in the same column
  • make spelling of squidTracks consistent #23
  • change weapons text to weapons images on results page
  • switch stat.ink uploads to asynchronous calls

For Public Beta

  • fix issues in #2
  • Fix cursor on some links, is showing text selection on the ones that don't have an href
  • Go back to top when selecting a battle in last 50 battles table
  • Switch Battle Details Paging arrows
  • Show start time as local time
  • Add player ranks to team tables
  • Sorting on Tables
  • Better feedback on clicking buttons
  • only list battle numbers that are listed in results
  • Disable stat.ink buttons if session Token is not defined
  • add link to stat.ink battle after upload?
  • add schedule page
  • fix navigation to top of window
  • remember window dimensions

Column header missing for ranks

In battle history, players ranks got available with latest release but the column header is missing for now so every header from "weapon" to "s" (specials) is just one column left to where it's supposed to be.

Language of the program

Hey. The program is really great. I am german and so with the latest update the language changed to german. However, I would like the program to still be in english. I share my results with people from around the world, and everybody understands the english names - but only german talking people know the german names. This is why it would be very cool to add a setting that allows us to freely choose the language of the program.

stat.ink integration: Should not add 1000p bonus to winning team members when not Tutf War mode

Current code looks always add bonus 1000 points to winning team members in spite of game mode. (The game mode means TW, SZ, TC or RM)

Code:

player.point = playerResult.game_paint_point;
if (result === 'victory') {
player.point += 1000;
}

I think should not add 1000p to this value because its bonus point is not 1000p and not natural value for non TW mode.

P.S. Stat.ink will display how many inked in non TW mode soon.

integrate with twitch to provide links to games

stat.ink api has support for a link_url to game video. It might be possible to integrate with twitch to auto fill this link. Either by providing timestamps to vods or creating highlights.

It might also be possible to do this with open rec and youtube.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.