113 lines
2.1 KiB
Markdown
113 lines
2.1 KiB
Markdown
# 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 (server-rendered)
|
|
- PostgreSQL
|
|
- Redis
|
|
- Celery + Celery Beat
|
|
- nginx
|
|
- Docker / Docker Compose
|
|
|
|
## Project Structure
|
|
|
|
```text
|
|
.
|
|
├── apps/
|
|
│ ├── core/
|
|
│ ├── users/
|
|
│ ├── players/
|
|
│ ├── competitions/
|
|
│ ├── teams/
|
|
│ ├── stats/
|
|
│ ├── scouting/
|
|
│ ├── providers/
|
|
│ └── ingestion/
|
|
├── config/
|
|
│ └── settings/
|
|
├── nginx/
|
|
├── requirements/
|
|
├── static/
|
|
├── templates/
|
|
└── tests/
|
|
```
|
|
|
|
## Setup
|
|
|
|
1. Copy environment file:
|
|
|
|
```bash
|
|
cp .env.example .env
|
|
```
|
|
|
|
2. Build and start services:
|
|
|
|
```bash
|
|
docker compose up --build
|
|
```
|
|
|
|
3. Apply migrations (if auto-migrate disabled):
|
|
|
|
```bash
|
|
docker compose exec web python manage.py migrate
|
|
```
|
|
|
|
4. Create superuser:
|
|
|
|
```bash
|
|
docker compose exec web python manage.py createsuperuser
|
|
```
|
|
|
|
5. Access app:
|
|
|
|
- Application: http://localhost
|
|
- Admin: http://localhost/admin/
|
|
- Health endpoint: http://localhost/health/
|
|
|
|
## Authentication Routes
|
|
|
|
- Signup: `/users/signup/`
|
|
- Login: `/users/login/`
|
|
- Logout: `/users/logout/`
|
|
- Dashboard (auth required): `/dashboard/`
|
|
|
|
## Tailwind Integration Strategy
|
|
|
|
Phase 2 keeps styling minimal and framework-neutral using `static/css/main.css`.
|
|
For upcoming phases, Tailwind will be integrated as a build step that emits compiled CSS into `static/css/` (e.g., via standalone Tailwind CLI or PostCSS in a dedicated frontend tooling container), while templates stay server-rendered.
|
|
|
|
## Development Commands
|
|
|
|
Run tests:
|
|
|
|
```bash
|
|
docker compose exec web pytest
|
|
```
|
|
|
|
Run Django shell:
|
|
|
|
```bash
|
|
docker compose exec web python manage.py shell
|
|
```
|
|
|
|
## Migrations
|
|
|
|
Create migration:
|
|
|
|
```bash
|
|
docker compose exec web python manage.py makemigrations
|
|
```
|
|
|
|
Apply migration:
|
|
|
|
```bash
|
|
docker compose exec web python manage.py migrate
|
|
```
|
|
|
|
## GitFlow
|
|
|
|
See [CONTRIBUTING.md](CONTRIBUTING.md) for branch model and PR workflow.
|