# mdew192837/cc-django architecture

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

- Interactive diagram: https://gitdiagram.com/mdew192837/cc-django
- Repository: https://github.com/mdew192837/cc-django

## Overview

CCMS is a Django chess-club management site for staff and read-only members. The main workflow is to browse clubs, manage classifications and players, record club games, then process unprocessed games into player rating changes and a batch history. The README also documents filtered tables, USCF rating updates, account registration and password reset, and privileged admin operations. The graph uses documented capabilities where source excerpts are absent; links between unsampled subsystems are intentionally limited.

Main entry points: [`cc_management/views.py`](https://github.com/mdew192837/cc-django/blob/master/cc_management/views.py) (Club and game views), [`cc_management/admin.py`](https://github.com/mdew192837/cc-django/blob/master/cc_management/admin.py) (Admin operations), [`cc_management/models.py`](https://github.com/mdew192837/cc-django/blob/master/cc_management/models.py) (Players), [`cc_management/signals.py`](https://github.com/mdew192837/cc-django/blob/master/cc_management/signals.py) (Model signals)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_web["Web entry and access"]
  node_routing["URL routing<br/>[urls.py]"]
  node_club_routes["Club routes<br/>[urls.py]"]
  node_club_views["Club and game views<br/>[views.py]"]
end

subgraph group_clubs["Club management"]
  node_clubs[("Clubs and classifications<br/>[models.py]")]
  node_players[("Players<br/>[models.py]")]
  node_tables["Filtered tables<br/>[tables.py]"]
  node_uscf{{"USCF rating lookup"}}
  node_signals["Model signals<br/>[signals.py]"]
end

subgraph group_ratings["Game ratings"]
  node_games[("Games<br/>[models.py]")]
  node_batches[("Rating batches<br/>[models.py]")]
  node_elo["Elo calculation"]
end

subgraph group_accounts["Accounts and admin"]
  node_signup["Registration<br/>[views.py]"]
  node_user_models[("User accounts<br/>[models.py]")]
  node_admin["Admin operations<br/>[admin.py]"]
  node_user_admin["User administration<br/>[admin.py]"]
end

node_member(("Member or staff"))
node_smtp{{"SMTP mail"}}

node_member -->|"requests pages"| node_routing
node_routing -->|"dispatches"| node_club_routes
node_club_routes -->|"dispatches"| node_club_views
node_club_views -->|"reads and writes"| node_clubs
node_club_views -->|"reads and writes"| node_players
node_club_views -->|"reads and writes"| node_games
node_club_views -->|"creates and reads"| node_batches
node_club_views -->|"builds tables"| node_tables
node_club_views -.->|"calculates ratings"| node_elo
node_signals -.->|"updates rating"| node_uscf
node_signals -->|"updates player"| node_players
node_member -->|"registers"| node_signup
node_signup -->|"creates account"| node_user_models
node_member -->|"manages records"| node_admin
node_admin -->|"administers"| node_clubs
node_admin -->|"administers"| node_players
node_admin -->|"administers"| node_games
node_member -->|"manages users"| node_user_admin
node_user_admin -->|"administers"| node_user_models
node_member -.->|"requests password reset"| node_smtp

click node_routing "https://github.com/mdew192837/cc-django/blob/master/ccms/urls.py"
click node_club_routes "https://github.com/mdew192837/cc-django/blob/master/cc_management/urls.py"
click node_club_views "https://github.com/mdew192837/cc-django/blob/master/cc_management/views.py"
click node_clubs "https://github.com/mdew192837/cc-django/blob/master/cc_management/models.py"
click node_players "https://github.com/mdew192837/cc-django/blob/master/cc_management/models.py"
click node_games "https://github.com/mdew192837/cc-django/blob/master/cc_management/models.py"
click node_batches "https://github.com/mdew192837/cc-django/blob/master/cc_management/models.py"
click node_tables "https://github.com/mdew192837/cc-django/blob/master/cc_management/tables.py"
click node_signals "https://github.com/mdew192837/cc-django/blob/master/cc_management/signals.py"
click node_signup "https://github.com/mdew192837/cc-django/blob/master/users/views.py"
click node_user_models "https://github.com/mdew192837/cc-django/blob/master/users/models.py"
click node_admin "https://github.com/mdew192837/cc-django/blob/master/cc_management/admin.py"
click node_user_admin "https://github.com/mdew192837/cc-django/blob/master/users/admin.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_routing,node_club_routes,node_club_views toneBlue
class node_clubs,node_players,node_tables,node_uscf,node_signals toneAmber
class node_games,node_batches,node_elo toneMint
class node_signup,node_user_models,node_admin,node_user_admin toneRose
class node_member,node_smtp toneIndigo
```

## Components

### Web entry and access

- [URL routing](https://github.com/mdew192837/cc-django/blob/master/ccms/urls.py): `ccms/urls.py`
- [Club routes](https://github.com/mdew192837/cc-django/blob/master/cc_management/urls.py): `cc_management/urls.py`
- [Club and game views](https://github.com/mdew192837/cc-django/blob/master/cc_management/views.py): `cc_management/views.py`

### Club management

- [Clubs and classifications](https://github.com/mdew192837/cc-django/blob/master/cc_management/models.py): `cc_management/models.py`
- [Players](https://github.com/mdew192837/cc-django/blob/master/cc_management/models.py): `cc_management/models.py`
- [Filtered tables](https://github.com/mdew192837/cc-django/blob/master/cc_management/tables.py): `cc_management/tables.py`
- **USCF rating lookup**
- [Model signals](https://github.com/mdew192837/cc-django/blob/master/cc_management/signals.py): `cc_management/signals.py`

### Game ratings

- [Games](https://github.com/mdew192837/cc-django/blob/master/cc_management/models.py): `cc_management/models.py`
- [Rating batches](https://github.com/mdew192837/cc-django/blob/master/cc_management/models.py): `cc_management/models.py`
- **Elo calculation**

### Accounts and admin

- [Registration](https://github.com/mdew192837/cc-django/blob/master/users/views.py): `users/views.py`
- [User accounts](https://github.com/mdew192837/cc-django/blob/master/users/models.py): `users/models.py`
- [Admin operations](https://github.com/mdew192837/cc-django/blob/master/cc_management/admin.py): `cc_management/admin.py`
- [User administration](https://github.com/mdew192837/cc-django/blob/master/users/admin.py): `users/admin.py`

### Other components

- **Member or staff**
- **SMTP mail**

## Connections

- Member or staff → URL routing: requests pages
- URL routing → Club routes: dispatches
- Club routes → Club and game views: dispatches
- Club and game views → Clubs and classifications: reads and writes
- Club and game views → Players: reads and writes
- Club and game views → Games: reads and writes
- Club and game views → Rating batches: creates and reads
- Club and game views → Filtered tables: builds tables
- Club and game views → Elo calculation: calculates ratings
- Model signals → USCF rating lookup: updates rating
- Model signals → Players: updates player
- Member or staff → Registration: registers
- Registration → User accounts: creates account
- Member or staff → Admin operations: manages records
- Admin operations → Clubs and classifications: administers
- Admin operations → Players: administers
- Admin operations → Games: administers
- Member or staff → User administration: manages users
- User administration → User accounts: administers
- Member or staff → SMTP mail: requests password reset
