generated from bisco/codex-bootstrap
feat: bootstrap HoopScout scouting app
This commit is contained in:
+26
-9
@@ -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`
|
||||
|
||||
Reference in New Issue
Block a user