feat: bootstrap HoopScout scouting app

This commit is contained in:
bisco
2026-06-03 21:37:15 +02:00
parent c4b1b6ee15
commit cc188468bc
52 changed files with 14505 additions and 126 deletions
+26 -9
View File
@@ -1,13 +1,30 @@
# Architecture
Describe the project architecture here.
HoopScout is a private scouting application composed of three local Docker services:
Include:
- `frontend`: Angular single-page application for player search and profile review.
- `backend`: Django REST Framework API with Django admin for restricted data management.
- `db`: PostgreSQL database for users, leagues, teams, players, season stats, and game logs.
- main components;
- runtime dependencies;
- data flow;
- persistence;
- external integrations;
- deployment topology;
- relevant ADRs.
## Data Flow
Users authenticate through Django session/basic authentication. The Angular application calls `/api/players/` with search and filter query parameters. The backend returns paginated player summaries ranked by efficiency and points, plus detailed player profiles at `/api/players/{id}/`.
## Persistence
The initial schema stores:
- users and user profiles with `admin`, `scout`, and `viewer` roles;
- male player identity, bio, position, optional role, measurements in cm/kg, nationality, current team, and external source metadata;
- leagues and teams, with an initial focus on European leagues;
- one active season;
- per-season averages, totals, and advanced metrics;
- per-game logs for best and worst performance views.
## External Integrations
No automated external ingestion is included in the MVP. Demo data is synthetic. RealGM, Proballers, or similar data providers require a later authorized API/import decision before real data is collected.
## Relevant ADRs
- `docs/adr/0001-bootstrap-stack-and-data-boundaries.md`