Coder Social home page Coder Social logo

pb-tracker's People

Contributors

elipsis avatar glacials avatar lambdan avatar nickj109 avatar retched avatar rggibson avatar sirrouven avatar spiraster avatar trysdyn avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar

pb-tracker's Issues

Possible to generate category ID

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

Standardize Categories, Platform and Version naming

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.

Add ability to display all run in PB Table

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.

Add some simple defence against spammers

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.

Prevent Submissions of Duplicate Runs

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.

Handle submissions from external sources (e.g., splits program)

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.

Add search / filtering to main runner and game pages

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.

Add sort capabilities to runner PB tables

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.

Administration/Moderation Features

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.

Add a "last 10 runs" section to runner, game and front pages

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.

Reduce resource loads to help prevent site downtime and timeouts

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

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.