# iabdulhamid13/assetto_corsa_tournament_manager architecture

> Architecture diagram of the GitHub repository iabdulhamid13/assetto_corsa_tournament_manager, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/iabdulhamid13/assetto_corsa_tournament_manager
- Repository: https://github.com/iabdulhamid13/assetto_corsa_tournament_manager

## Overview

Assetto_Corsa_Tournament_Manager is a Django web application for viewing and organizing Assetto Corsa tournaments. Users enter through the site routes to browse tournament listings or access general pages; tournament routes provide creation, detail, and registration actions, including event registration. The implementation is partial: registration handlers contain TODOs, and some tournament templates are unset. Source excerpts show the route and view wiring; model behavior is not sampled, so persistence links reflect the configured SQLite database and Django ORM use rather than detailed model logic.

Main entry points: [`source/tournaments/views.py`](https://github.com/iabdulhamid13/assetto_corsa_tournament_manager/blob/main/source/tournaments/views.py) (Tournament views), [`source/Tournament_Manager/urls.py`](https://github.com/iabdulhamid13/assetto_corsa_tournament_manager/blob/main/source/Tournament_Manager/urls.py) (Site routes), [`source/main/models.py`](https://github.com/iabdulhamid13/assetto_corsa_tournament_manager/blob/main/source/main/models.py) (User and car models), [`source/Tournament_Manager/wsgi.py`](https://github.com/iabdulhamid13/assetto_corsa_tournament_manager/blob/main/source/Tournament_Manager/wsgi.py) (WSGI startup)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_portal["Site pages"]
  node_main_routes["Main routes<br/>[urls.py]"]
  node_main_views["Main views<br/>[views.py]"]
  node_main_templates["Site templates"]
end

subgraph group_tournaments["Tournament management"]
  node_tournament_routes["Tournament routes<br/>[urls.py]"]
  node_tournament_views["Tournament views<br/>[views.py]"]
  node_tournament_templates["Tournament listing"]
  node_tournament_models["Tournament models<br/>[models.py]"]
end

subgraph group_runtime["Application runtime"]
  node_site_routes["Site routes<br/>[urls.py]"]
  node_main_models["User and car models<br/>[models.py]"]
  node_sqlite[("SQLite database<br/>[settings.py]")]
  node_car_ini["Car configuration<br/>[car_list.ini]"]
  node_wsgi["WSGI startup<br/>[wsgi.py]"]
end

node_visitor(("Visitor"))

node_visitor -->|"requests pages"| node_site_routes
node_site_routes -->|"routes to"| node_main_routes
node_site_routes -->|"routes to"| node_tournament_routes
node_main_routes -->|"dispatches"| node_main_views
node_main_views -->|"renders"| node_main_templates
node_tournament_routes -->|"dispatches"| node_tournament_views
node_tournament_views -->|"renders listing"| node_tournament_templates
node_tournament_views -->|"queries and creates"| node_tournament_models
node_tournament_views -.->|"uses car and user models"| node_main_models
node_main_models -->|"persists via ORM"| node_sqlite
node_tournament_models -->|"persists via ORM"| node_sqlite
node_wsgi -->|"reads car settings"| node_car_ini
node_wsgi -->|"updates car records"| node_main_models

click node_site_routes "https://github.com/iabdulhamid13/assetto_corsa_tournament_manager/blob/main/source/Tournament_Manager/urls.py"
click node_main_routes "https://github.com/iabdulhamid13/assetto_corsa_tournament_manager/blob/main/source/main/urls.py"
click node_main_views "https://github.com/iabdulhamid13/assetto_corsa_tournament_manager/blob/main/source/main/views.py"
click node_main_templates "https://github.com/iabdulhamid13/assetto_corsa_tournament_manager/tree/main/source/main/templates/main"
click node_tournament_routes "https://github.com/iabdulhamid13/assetto_corsa_tournament_manager/blob/main/source/tournaments/urls.py"
click node_tournament_views "https://github.com/iabdulhamid13/assetto_corsa_tournament_manager/blob/main/source/tournaments/views.py"
click node_tournament_templates "https://github.com/iabdulhamid13/assetto_corsa_tournament_manager/blob/main/source/tournaments/templates/tournaments/tournaments_list.html"
click node_main_models "https://github.com/iabdulhamid13/assetto_corsa_tournament_manager/blob/main/source/main/models.py"
click node_tournament_models "https://github.com/iabdulhamid13/assetto_corsa_tournament_manager/blob/main/source/tournaments/models.py"
click node_sqlite "https://github.com/iabdulhamid13/assetto_corsa_tournament_manager/blob/main/source/Tournament_Manager/settings.py"
click node_car_ini "https://github.com/iabdulhamid13/assetto_corsa_tournament_manager/blob/main/source/main/car_list/car_list.ini"
click node_wsgi "https://github.com/iabdulhamid13/assetto_corsa_tournament_manager/blob/main/source/Tournament_Manager/wsgi.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_main_routes,node_main_views,node_main_templates toneBlue
class node_tournament_routes,node_tournament_views,node_tournament_templates,node_tournament_models toneAmber
class node_site_routes,node_main_models,node_sqlite,node_car_ini,node_wsgi toneMint
class node_visitor toneIndigo
```

## Components

### Site pages

- [Main routes](https://github.com/iabdulhamid13/assetto_corsa_tournament_manager/blob/main/source/main/urls.py): `source/main/urls.py`
- [Main views](https://github.com/iabdulhamid13/assetto_corsa_tournament_manager/blob/main/source/main/views.py): `source/main/views.py`
- [Site templates](https://github.com/iabdulhamid13/assetto_corsa_tournament_manager/tree/main/source/main/templates/main): `source/main/templates/main`

### Tournament management

- [Tournament routes](https://github.com/iabdulhamid13/assetto_corsa_tournament_manager/blob/main/source/tournaments/urls.py): `source/tournaments/urls.py`
- [Tournament views](https://github.com/iabdulhamid13/assetto_corsa_tournament_manager/blob/main/source/tournaments/views.py): `source/tournaments/views.py`
- [Tournament listing](https://github.com/iabdulhamid13/assetto_corsa_tournament_manager/blob/main/source/tournaments/templates/tournaments/tournaments_list.html): `source/tournaments/templates/tournaments/tournaments_list.html`
- [Tournament models](https://github.com/iabdulhamid13/assetto_corsa_tournament_manager/blob/main/source/tournaments/models.py): `source/tournaments/models.py`

### Application runtime

- [Site routes](https://github.com/iabdulhamid13/assetto_corsa_tournament_manager/blob/main/source/Tournament_Manager/urls.py): `source/Tournament_Manager/urls.py`
- [User and car models](https://github.com/iabdulhamid13/assetto_corsa_tournament_manager/blob/main/source/main/models.py): `source/main/models.py`
- [SQLite database](https://github.com/iabdulhamid13/assetto_corsa_tournament_manager/blob/main/source/Tournament_Manager/settings.py): `source/Tournament_Manager/settings.py`
- [Car configuration](https://github.com/iabdulhamid13/assetto_corsa_tournament_manager/blob/main/source/main/car_list/car_list.ini): `source/main/car_list/car_list.ini`
- [WSGI startup](https://github.com/iabdulhamid13/assetto_corsa_tournament_manager/blob/main/source/Tournament_Manager/wsgi.py): `source/Tournament_Manager/wsgi.py`

### Other components

- **Visitor**

## Connections

- Visitor → Site routes: requests pages
- Site routes → Main routes: routes to
- Site routes → Tournament routes: routes to
- Main routes → Main views: dispatches
- Main views → Site templates: renders
- Tournament routes → Tournament views: dispatches
- Tournament views → Tournament listing: renders listing
- Tournament views → Tournament models: queries and creates
- Tournament views → User and car models: uses car and user models
- User and car models → SQLite database: persists via ORM
- Tournament models → SQLite database: persists via ORM
- WSGI startup → Car configuration: reads car settings
- WSGI startup → User and car models: updates car records
