Skip to content

ShotGeek/ShotGeek

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

ShotGeek

ShotGeek-display

Table of Contents

  1. Introduction
  2. Features
  3. Getting Started
  4. Usage
  5. Contributing
  6. License

ShotGeek

ShotGeek is a Django web application that provides NBA stats, scores, and player comparisons. Whether you're a casual fan or a stats enthusiast, ShotGeek helps you explore player performance and compare careers with detailed tables and visualizations.

Features

  • Player Search: Look up any NBA player by full name to access their career statistics.
  • Career Stat Totals: View detailed career stats for individual players.
  • Graphical Analysis: Use interactive graphs to visualize player performance over time.
  • Player Comparison: Compare two players' career stats side by side.
  • Customizable Views: Select stat categories for table and graph comparisons.

Getting Started

Prerequisites

Ensure you have the following installed on your system:

  • Python 3.10
  • Django
  • PostgreSQL

Alternative: Docker Compose Setup

For setup without installing dependencies locally, you can use Docker Compose:

  1. Install Docker and Docker Compose on your system
  2. Run the application:
    docker compose up --build
  3. In a new terminal, run migrations:
    docker compose exec web python manage.py migrate
  4. Open your browser and visit: http://127.0.0.1:8000/

The Docker Compose setup includes live reloading, so changes to your code will automatically refresh the application.

Installation

  1. Clone the repository:
    git clone https://github.com/ShotGeek/ShotGeek.git
    cd shotgeek
  2. Create and activate a virtual environment:
    python3.10 -m venv venv
    source venv/bin/activate  # On Windows use `venv\Scripts\activate`
  3. Install dependencies:
    pip install -r requirements.txt
  4. Uncomment DEVELOPMENT=True in .env:
    # .env
    SECRET_KEY='django-insecure-enfgxe59+e1kt+c#unqrutb9y#_0)+aht&+@5@^r@pupks1wt8'
    DEVELOPMENT=True
  5. Set up the database:
    python manage.py migrate
  6. Run the development server:
    python manage.py runserver
  7. Open your browser and visit: http://127.0.0.1:8000/

Displaying team logos

When running the application locally team logos won't be displayed by default. Insert them with:

python manage.py insert_teams

Usage

Searching for a Player

  • Enter the player's full name in the search bar.
  • Ensure correct spelling to avoid incorrect results.
  • Example: Searching for Charles Barkley will take you to his player page.

Comparing Players

  • Click the Compare Players button to access the comparison tool.
  • Enter the full name of two players to compare their stats side by side.
  • Select specific stat categories for in-depth analysis.

Viewing Graphs

  • Navigate to a player's page or the comparison page.
  • Use the dropdown menu to select a stat category.
  • The graph will display trends over the player's career.

Contributing

We welcome contributions from the open-source community. If you find any issues or want to suggest enhancements, feel free to create a pull request or submit an issue. For more information on contributing visit Contributing

License

ShotGeek is licensed under the Apache License 2.0.

About

ShotGeek is an open source, NBA statistics and comparison platform built in Django.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 17