Skip to content

A Django web application to track 2v2 (spikeball) matches internally in my lab

License

Notifications You must be signed in to change notification settings

LucaLumetti/ZipLeague

Repository files navigation

ZipLeague

A simple but effective ranking system designed to track Spikeball matches and tournament results within the AImageLab team at the University of Modena and Reggio Emilia. Built with Django and powered by both TrueSkill and ELO rating systems, ZipLeague brings competitive fun to our research group's recreational activities.

Features

  • Player Management: Create and manage player profiles with both TrueSkill and ELO ratings
  • Match Tracking: Record 2v2 matches with automatic TrueSkill and ELO calculations
  • Live Rankings: Real-time player rankings based on TrueSkill ratings (with ELO as secondary)
  • Match History: Detailed match records with scores and rating changes
  • Admin Dashboard: Complete administrative interface for league management
  • Token-based Registration: Secure user registration system with invitation tokens
  • Rating Recomputation: Admin tool to recalculate all ratings from scratch
  • Dual Rating Systems: TrueSkill for accuracy, ELO for familiarity

Quick Start

  1. Clone and Setup:

    git clone https://github.com/LucaLumetti/ZipLeague.git
    cd ZipLeague
    cp .env.example .env
  2. Run with Docker:

    docker compose up -d --build
    docker compose exec web python manage.py migrate
    docker compose exec web python manage.py createsuperuser

Technologies

  • Backend: Django 5.2, PostgreSQL
  • Frontend: Bootstrap 5, Django Templates
  • Deployment: Docker, Gunicorn, Whitenoise
  • Authentication: Django Auth with custom registration tokens

License

MIT License - see LICENSE file for details.

Contributing

See CONTRIBUTING.md for development setup, coding standards, and contribution guidelines.

About

A Django web application to track 2v2 (spikeball) matches internally in my lab

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published