rggibson / pb-tracker Goto Github PK
View Code? Open in Web Editor NEWWeb app for tracking speedrunning times and personal bests.
License: MIT License
Web app for tracking speedrunning times and personal bests.
License: MIT License
Just for easier url parsing.
e.g:
70 Star - Best known time: 48:28 by Siglemic
span id would be super-mario-64-70-star or something alike
I'm not too sure on how well python is with web development
For this, would want to look into using datatables.net to call server-side code to generate the table content.
This information will be stored in runners.Runners, either as individual boolean properties or a json-encoded text property (whatever is easier).
As it stands currently the Version column on game pages can get pretty messy.
For instance the SM64 Page has these versions listed under 16 star:
N64
ENG Emulator
Project 64
VC-U
N64-J
Wii VC
VC
Nintendo 64
Virtual Console
N64-U
Emulator
Emulator (J)
Which could be reduced to:
N64-U
N64-J
VC-U
Emu-U
Emu-J
or some other naming variant that would be easier to sort (if that becomes a feature) and easier to understand.
Promote the Twitter!
There have been a few cases of passwords not being accepted when they probably should be accepted. Not sure what is causing this yet.
The outgoing bandwidth limit of 1GB / day was maxed out with the release of LiveSplit. A compressed version of the games and categories should greatly reduce traffic.
Should be fairly straightforward to add. Also need a PB Tracker colored version of the hitbox logo.
Right now, splitting runs across multiple pages kind of sucks for heavy users. Might as well add a button to display all runs rather than force those users to hit the Next button several times.
Some pages are all over with categories it's crazy
I was thinking of just simplifying it with
any% first and 100% second
other categories follow
It's more of a nitpick and my ocd
Some examples of crazy pages:
http://www.pbtracker.net/game/mega-man-x - 100% first when 99% of other pages always have any%
http://www.pbtracker.net/game/the-legend-of-zelda-ocarina-of-time - 100% is so far down
For the majority of pages, spit out json instead of html.
This used to be a feature, but got clobbered with the revised submit structure.
Column should contain a time that can manually be edited by the user.
Currently, splits programs have to either prompt the user for their password every time, or store the password in plain text. It would be nice to have a special key for auto submission that can be stored in plain text without revealing the user's password.
Just have a "can't submit 2 runs within X seconds" restriction for now. The free quota on GAE could get exhausted if one user spams the site with a ton of runs.
Need to initialize default date from the client instead of the server. See http://jsfiddle.net/nCE9u/ for how to do this client-side.
A few people have asked for this so it is worthy of including.
Use TheGamesDB.net to auto-grab missing boxart. In addition, add a web interface to add missing boxart or replace incorrect boxart. This will require moving the boxart image files from being statically hosted to living in GAE's blobstore.
Perhaps this is a mod-only operation, but would still be useful for fixing up mistakes.
I caused an issue on an account when testing a script to "copy" the runs of one account to another account. I ran the script a few times and as a result, multiple copies of the same run exist in the new account.
Possible solution: Add an "id" field to the payload of a submitrun-type JSON payload. If the id is already in-use, the run cannot will not be submitted.
Seems to be a side-affect of the jQuery lazyload plugin. Since this only occurs sometimes, is there a race condition going on here? Also, I have only seen this in Chrome (Firefox seems fine).
Basically, the code in submit.py::post needs to be ripped out and placed in a function call. Looks like we are going to use JSON to communicate. Need to figure out how to configure the special handler for taking the input from the external source. Currently in PM with dunnius of Time Split Tracker and kokarn of allspeedruns.com.
Needed for correct date on submission from TimeSplitTracker.
Right now, you have to use the find tool built into web browsers, which I guess isn't that bad, but some auto-complete is always nice. May want to start spreading runners and games over multiple pages too as the lists are getting pretty long.
'High score' would effectively be an additional category(ies) for appropriate games. Categories would then also need to have a type set to either 'speed run time' or 'high score.'
Use datatables.net again, just like the list runs pages. This will require minor changes to how the PB table is generated. Now, all columns should be generated with some being hidden as selected by the runner from their "edit columns" page.
There could be some issues here with using up too many resources for Google App Engine's free tier, but maybe if we can free up resources elsewhere, this would be a really neat feature.
Hitting the button takes you to the submit run page with the game and category auto-filled.
E.g., Mega Man 10 says 13 pbs right now, but counting it by hand says it should be 12.
Some kind of way to merge game titles that are obviously the same game, i.e. 'Final Fantasy V', 'final fantasy 5', maybe for some users only marked as moderator/whatever. Not sure if this is practical for run categories, but those are currently a bit of a mess too.
This will be a text property with a text area as input.
Check out datatables.net
Maybe use query parameters to specify where to return to after a login/logout/signup/updatebkt?
Need to contact authors of WSplit / Llanfair, building a new split program is less than ideal.
Will want to use bootstrap's grid system here and add this section probably as a new column on >= medium devices. Might not be appropriate to add to runner pages since there's already a direct link there to all previous runs, sorted by date.
Need to store num_pbs for each runner now too, just like we now do with games.
http://www.pbtracker.net/runner/zelda-player5
He was banned from ZSR and SRL for saying he has 1 second~ apart from WR with no proof and "witty" responses
PB Tracker currently runs under Google App Engine's free tier usage, and every once in a while, traffic is high enough that we hit one or more of the free limits. Finding a way to reduce some of the resource usage would reduce the number of site outages. Particular resources that get used up often are data store reads and outgoing bandwidth. I think the best place to start would be to look at reducing the usage from /asup, although this will likely require some discussion with the TimeSplitTracker and LiveSplit devs. Here's what the site usage happens to look like at the time of posting this issue (forgive the horribly formatted print to pdf):
https://drive.google.com/file/d/0B5Hsa22FWRE6MmxRb2xMMEZpczg/edit?usp=sharing
Low priority.
Filenames cannot be percent-encoded like URLs can, so we need a workaround.
Uploading the split file will not only auto-populate the relevant submission inputs, but the splits will also be stored in a new TextProperty. Links will be added to the runner and game pages for downloading the splits in either format.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.