# vsiprobihy/backend architecture

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

- Interactive diagram: https://gitdiagram.com/vsiprobihy/backend
- Repository: https://github.com/vsiprobihy/backend

## Overview

This is a Django backend whose apparent product is event discovery and management, with user accounts, organizer/organization support, and event configuration features. The likely principal workflow is a client discovering public events and then using authenticated APIs for account or event-related actions. The tree identifies domain modules, but the README describes only running the project and the sampled source does not include the API views, URL wiring, or model definitions; therefore the graph shows domain boundaries and only cautious, conventional request-flow links.

Main entry points: [`vsizabihi/urls.py`](https://github.com/vsiprobihy/backend/blob/main/vsizabihi/urls.py) (Project routing), [`authentication/auth_views.py`](https://github.com/vsiprobihy/backend/blob/main/authentication/auth_views.py) (Account workflows), [`event/models.py`](https://github.com/vsiprobihy/backend/blob/main/event/models.py) (Event records), [`user/views.py`](https://github.com/vsiprobihy/backend/blob/main/user/views.py) (User workflows)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_api["API entry points"]
  node_project_urls["Project routing<br/>[urls.py]"]
  node_auth_api["Authentication API<br/>[urls.py]"]
  node_event_api["Event API<br/>[urls.py]"]
  node_public_api["Public events API<br/>[urls.py]"]
  node_organization_api["Organization API<br/>[urls.py]"]
  node_user_api["User API<br/>[urls.py]"]
  node_admin_api["Custom admin API<br/>[urls.py]"]
end

subgraph group_identity["Identity and users"]
  node_auth_views["Account workflows<br/>[auth_views.py]"]
  node_auth_core["Authentication core<br/>[views.py]"]
  node_auth_data["Identity records<br/>[models.py]"]
  node_user_views["User workflows<br/>[views.py]"]
  node_user_data["User records<br/>[models.py]"]
end

subgraph group_events["Event management"]
  node_event_views["Event workflows<br/>[views.py]"]
  node_event_data["Event records<br/>[models.py]"]
  node_public_views["Public listings<br/>[views.py]"]
  node_distance["Distance and pricing"]
  node_age["Age categories"]
  node_promo["Promo codes"]
  node_extras["Additional items"]
end

subgraph group_support["Platform support"]
  node_organizations["Organization workflows<br/>[views.py]"]
  node_admin_views["Admin workflows<br/>[views.py]"]
end

node_client(("API client"))
node_mail["Email service"]
node_database[("Database")]

node_client -->|"sends requests"| node_project_urls
node_project_urls -->|"routes to"| node_auth_api
node_project_urls -->|"routes to"| node_event_api
node_project_urls -->|"routes to"| node_public_api
node_project_urls -->|"routes to"| node_organization_api
node_project_urls -->|"routes to"| node_user_api
node_project_urls -->|"routes to"| node_admin_api
node_auth_api -->|"dispatches to"| node_auth_views
node_auth_views -->|"uses"| node_auth_core
node_auth_views -->|"reads and writes"| node_auth_data
node_auth_views -.->|"sends account email"| node_mail
node_user_api -->|"dispatches to"| node_user_views
node_user_views -->|"reads and writes"| node_user_data
node_user_views -->|"uses event records"| node_event_data
node_event_api -->|"dispatches to"| node_event_views
node_event_views -->|"reads and writes"| node_event_data
node_public_api -->|"dispatches to"| node_public_views
node_public_views -->|"reads event records"| node_event_data
node_organization_api -->|"dispatches to"| node_organizations
node_admin_api -->|"dispatches to"| node_admin_views
node_distance -->|"persists rule updates"| node_database
node_event_data -->|"persists records"| node_database
node_auth_data -->|"persists records"| node_database
node_user_data -->|"persists records"| node_database

click node_project_urls "https://github.com/vsiprobihy/backend/blob/main/vsizabihi/urls.py"
click node_auth_api "https://github.com/vsiprobihy/backend/blob/main/authentication/urls.py"
click node_event_api "https://github.com/vsiprobihy/backend/blob/main/event/urls.py"
click node_public_api "https://github.com/vsiprobihy/backend/blob/main/public_event/urls.py"
click node_organization_api "https://github.com/vsiprobihy/backend/blob/main/organization/urls.py"
click node_user_api "https://github.com/vsiprobihy/backend/blob/main/user/urls.py"
click node_admin_api "https://github.com/vsiprobihy/backend/blob/main/custom_admin/urls.py"
click node_auth_views "https://github.com/vsiprobihy/backend/blob/main/authentication/auth_views.py"
click node_auth_core "https://github.com/vsiprobihy/backend/blob/main/authentication/views.py"
click node_auth_data "https://github.com/vsiprobihy/backend/blob/main/authentication/models.py"
click node_user_views "https://github.com/vsiprobihy/backend/blob/main/user/views.py"
click node_user_data "https://github.com/vsiprobihy/backend/blob/main/user/models.py"
click node_event_views "https://github.com/vsiprobihy/backend/blob/main/event/views.py"
click node_event_data "https://github.com/vsiprobihy/backend/blob/main/event/models.py"
click node_public_views "https://github.com/vsiprobihy/backend/blob/main/public_event/views.py"
click node_distance "https://github.com/vsiprobihy/backend/tree/main/event/distance_details"
click node_age "https://github.com/vsiprobihy/backend/tree/main/event/age_category"
click node_promo "https://github.com/vsiprobihy/backend/tree/main/event/promo_code"
click node_extras "https://github.com/vsiprobihy/backend/tree/main/event/additional_items"
click node_organizations "https://github.com/vsiprobihy/backend/blob/main/organization/views.py"
click node_admin_views "https://github.com/vsiprobihy/backend/blob/main/custom_admin/views.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_project_urls,node_auth_api,node_event_api,node_public_api,node_organization_api,node_user_api,node_admin_api,node_client toneBlue
class node_auth_views,node_auth_core,node_auth_data,node_user_views,node_user_data,node_database toneAmber
class node_event_views,node_event_data,node_public_views,node_distance,node_age,node_promo,node_extras toneMint
class node_organizations,node_admin_views toneRose
class node_mail toneIndigo
```

## Components

### API entry points

- [Project routing](https://github.com/vsiprobihy/backend/blob/main/vsizabihi/urls.py): `vsizabihi/urls.py`
- [Authentication API](https://github.com/vsiprobihy/backend/blob/main/authentication/urls.py): `authentication/urls.py`
- [Event API](https://github.com/vsiprobihy/backend/blob/main/event/urls.py): `event/urls.py`
- [Public events API](https://github.com/vsiprobihy/backend/blob/main/public_event/urls.py): `public_event/urls.py`
- [Organization API](https://github.com/vsiprobihy/backend/blob/main/organization/urls.py): `organization/urls.py`
- [User API](https://github.com/vsiprobihy/backend/blob/main/user/urls.py): `user/urls.py`
- [Custom admin API](https://github.com/vsiprobihy/backend/blob/main/custom_admin/urls.py): `custom_admin/urls.py`

### Identity and users

- [Account workflows](https://github.com/vsiprobihy/backend/blob/main/authentication/auth_views.py): `authentication/auth_views.py`
- [Authentication core](https://github.com/vsiprobihy/backend/blob/main/authentication/views.py): `authentication/views.py`
- [Identity records](https://github.com/vsiprobihy/backend/blob/main/authentication/models.py): `authentication/models.py`
- [User workflows](https://github.com/vsiprobihy/backend/blob/main/user/views.py): `user/views.py`
- [User records](https://github.com/vsiprobihy/backend/blob/main/user/models.py): `user/models.py`

### Event management

- [Event workflows](https://github.com/vsiprobihy/backend/blob/main/event/views.py): `event/views.py`
- [Event records](https://github.com/vsiprobihy/backend/blob/main/event/models.py): `event/models.py`
- [Public listings](https://github.com/vsiprobihy/backend/blob/main/public_event/views.py): `public_event/views.py`
- [Distance and pricing](https://github.com/vsiprobihy/backend/tree/main/event/distance_details): `event/distance_details`
- [Age categories](https://github.com/vsiprobihy/backend/tree/main/event/age_category): `event/age_category`
- [Promo codes](https://github.com/vsiprobihy/backend/tree/main/event/promo_code): `event/promo_code`
- [Additional items](https://github.com/vsiprobihy/backend/tree/main/event/additional_items): `event/additional_items`

### Platform support

- [Organization workflows](https://github.com/vsiprobihy/backend/blob/main/organization/views.py): `organization/views.py`
- [Admin workflows](https://github.com/vsiprobihy/backend/blob/main/custom_admin/views.py): `custom_admin/views.py`

### Other components

- **API client**
- **Email service**
- **Database**

## Connections

- API client → Project routing: sends requests
- Project routing → Authentication API: routes to
- Project routing → Event API: routes to
- Project routing → Public events API: routes to
- Project routing → Organization API: routes to
- Project routing → User API: routes to
- Project routing → Custom admin API: routes to
- Authentication API → Account workflows: dispatches to
- Account workflows → Authentication core: uses
- Account workflows → Identity records: reads and writes
- Account workflows → Email service: sends account email
- User API → User workflows: dispatches to
- User workflows → User records: reads and writes
- User workflows → Event records: uses event records
- Event API → Event workflows: dispatches to
- Event workflows → Event records: reads and writes
- Public events API → Public listings: dispatches to
- Public listings → Event records: reads event records
- Organization API → Organization workflows: dispatches to
- Custom admin API → Admin workflows: dispatches to
- Distance and pricing → Database: persists rule updates
- Event records → Database: persists records
- Identity records → Database: persists records
- User records → Database: persists records
