Skip to content

sugoku/ArrowTracker

 
 

Repository files navigation

ArrowTracker

ArrowTracker is a functional online leaderboard and score tracker built for the Pump It Up rhythm game series. It is meant to provide a way for users to not only keep track of their scores but also to provide a ranking system in order to promote competition and allow users to compare scores and skill.

Features

  • Home page displaying latest scores in order of newest first
  • User dashboard allows players to update their information, profile picture, etc
  • Skill Points (SP) awarded for your top play in every chart to give you an overall ranking of your skill
  • Images can be uploaded alongside scores to "verify" the score, allowing it to be ranked
  • Individual song, chart, and score searching allows players to work towards their goals and analyze player info
  • Weekly Challenge - every Friday, the weekly challenge song changes and the leaderboard is saved and reset
  • Wiki pages including useful information and documents
  • Messaging system between users
  • Full mobile device support

Planned

  • User, song and chart leaderboards as well as individual score pages
  • Score submission with moderation and review for ranked scores
  • OCR score submission through Discord
  • Tournaments with brackets and team support
  • Score tracking tools and graphs

Installing/Running

  1. Install requirements via pip install -r requirements.txt
  2. Run python3 dbcreate.py to create the databases
  3. Download the latest Pump Out database from AnyhowStep's repository and move it to resources/pumpout.db
  4. Run python3 scraperv3.py to populate the database pump.db
  5. Run python3 create_roles.py to add roles and titles to the site database
  6. Run python3 add_support.py or create an empty supporters.json
  7. Fill in the settings.ini using settings_template

With Docker:

  1. Install Docker, go to the project directory and build an image using docker build -t arrowtracker:latest -f Dockerfile.dev .
  2. Start everything with docker-compose -f "docker-compose.development.yml" up

Without Docker:

  1. Install Redis and start a Redis server with redis-server
  2. Start a Celery worker with celery -A app.celery worker -l info -E
  3. Start a Celery beat with celery -A app.celery beat
  4. Run python3 run.py or flask run and connect to localhost:5000

A setup script should be made in the future to simplify this process.

Credits

  • Pump Out (Song database and thumbnail image source)
  • Andamiro (Prime 2 profile images)
  • daneden's Animate.css
  • Miguel Grinberg's microblog web application
    • The code for private messages, notifications, and asynchronous tasks are adapted from Miguel Grinberg's microblog web application which is under the MIT license, but this code is licensed under the AGPLv3 along with the rest of ArrowTracker. See the original license here: https://github.com/miguelgrinberg/microblog/blob/v0.21/LICENSE

DISCLAIMER

I do not own any of the Pump It Up Prime 2 profile images, song banners, or song thumbnails used in this project. All copyrights there go to their respective owners. The rest of the site (everything outside of the default profile images and the things in app/static/songthumbs) is owned by myself and the contributors of this repository.

About

Rewritten dance game score tracker

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 59.5%
  • HTML 39.6%
  • Other 0.9%