35686bdb663f400d67fca1ce979ae07c58bcec26
HoopScout
Production-minded basketball scouting and player search platform built with Django, HTMX, PostgreSQL, Redis, Celery, and nginx.
Stack
- Python 3.12+
- Django + Django Templates + HTMX (no SPA)
- PostgreSQL
- Redis
- Celery + Celery Beat
- nginx
- Docker / Docker Compose
Repository Structure
.
├── apps/
├── config/
├── nginx/
├── requirements/
├── templates/
├── tests/
├── docker-compose.yml
├── Dockerfile
└── entrypoint.sh
Setup
- Copy environment file:
cp .env.example .env
- Build and start services:
docker compose up --build
- Apply migrations (if not using auto migrations):
docker compose exec web python manage.py migrate
- Create superuser:
docker compose exec web python manage.py createsuperuser
- Access app:
- Application: http://localhost
- Admin: http://localhost/admin/
- Health endpoint: http://localhost/health/
Development Commands
Run tests:
docker compose exec web pytest
Run Django shell:
docker compose exec web python manage.py shell
Collect static files:
docker compose exec web python manage.py collectstatic --noinput
Migrations
Create migration:
docker compose exec web python manage.py makemigrations
Apply migration:
docker compose exec web python manage.py migrate
Ingestion / Sync (Phase Placeholder)
Data provider ingestion flow will be added in a later phase with adapter-based provider isolation.
GitFlow
See CONTRIBUTING.md for branch model and PR workflow.
Languages
Python
88.3%
HTML
10%
CSS
0.7%
Dockerfile
0.5%
Shell
0.3%
Other
0.2%