# muhammadahmadraza5088/dental_cleanic architecture

> Architecture diagram of the GitHub repository muhammadahmadraza5088/dental_cleanic, 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/muhammadahmadraza5088/dental_cleanic
- Repository: https://github.com/muhammadahmadraza5088/dental_cleanic

## Overview

This is a Django dental-appointment dashboard with staff-facing appointment management and a Vapi webhook for booking, checking, cancelling, and rescheduling appointments. Staff requests route through the project and app URL configurations to views; those views access appointment records and render HTML or return webhook results. The appointment model is stored in SQLite. The README is empty, so the map is based on the file tree and sampled source; unsampled implementation details are omitted.

Main entry points: [`dental_dashboard/appointments/models.py`](https://github.com/muhammadahmadraza5088/dental_cleanic/blob/master/dental_dashboard/appointments/models.py) (Appointment model), [`dental_dashboard/appointments/views.py`](https://github.com/muhammadahmadraza5088/dental_cleanic/blob/master/dental_dashboard/appointments/views.py) (Staff views), [`dental_dashboard/dental_dashboard/urls.py`](https://github.com/muhammadahmadraza5088/dental_cleanic/blob/master/dental_dashboard/dental_dashboard/urls.py) (Project routes), [`dental_dashboard/appointments/urls.py`](https://github.com/muhammadahmadraza5088/dental_cleanic/blob/master/dental_dashboard/appointments/urls.py) (Appointment routes)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_routing["Web routing"]
  node_project_urls["Project routes<br/>[urls.py]"]
  node_app_urls["Appointment routes<br/>[urls.py]"]
end

subgraph group_staff["Staff management"]
  node_staff_views["Staff views<br/>[views.py]"]
  node_dashboard_template["Dashboard page<br/>[dashboard.html]"]
  node_add_template["Add page"]
  node_edit_template["Edit page"]
end

subgraph group_voice["Voice operations"]
  node_vapi_webhook["Vapi webhook<br/>[views.py]"]
  node_book_handler["Book appointment<br/>[views.py]"]
  node_check_handler["Check appointment<br/>[views.py]"]
  node_cancel_handler["Cancel appointment<br/>[views.py]"]
  node_reschedule_handler["Reschedule appointment<br/>[views.py]"]
end

subgraph group_data["Appointment data"]
  node_appointment_model["Appointment model<br/>[models.py]"]
  node_sqlite[("SQLite database<br/>[db.sqlite3]")]
  node_admin_config["Admin registration<br/>[admin.py]"]
end

node_staff_user(("Staff user"))
node_vapi(("Vapi assistant"))

node_staff_user -->|"requests pages"| node_project_urls
node_project_urls -->|"includes routes"| node_app_urls
node_app_urls -->|"dispatches staff"| node_staff_views
node_staff_views -->|"queries and updates"| node_appointment_model
node_staff_views -->|"renders dashboard"| node_dashboard_template
node_staff_views -->|"renders form"| node_add_template
node_staff_views -->|"renders form"| node_edit_template
node_vapi -.->|"posts webhook"| node_project_urls
node_app_urls -->|"dispatches webhook"| node_vapi_webhook
node_vapi_webhook -->|"dispatches tool"| node_book_handler
node_vapi_webhook -->|"dispatches tool"| node_check_handler
node_vapi_webhook -->|"dispatches tool"| node_cancel_handler
node_vapi_webhook -->|"dispatches tool"| node_reschedule_handler
node_book_handler -->|"checks and creates"| node_appointment_model
node_check_handler -->|"queries"| node_appointment_model
node_cancel_handler -->|"queries and updates"| node_appointment_model
node_reschedule_handler -->|"checks and updates"| node_appointment_model
node_appointment_model -->|"persists records"| node_sqlite
node_project_urls -->|"routes admin"| node_admin_config
node_admin_config -->|"registers model"| node_appointment_model

click node_project_urls "https://github.com/muhammadahmadraza5088/dental_cleanic/blob/master/dental_dashboard/dental_dashboard/urls.py"
click node_app_urls "https://github.com/muhammadahmadraza5088/dental_cleanic/blob/master/dental_dashboard/appointments/urls.py"
click node_staff_views "https://github.com/muhammadahmadraza5088/dental_cleanic/blob/master/dental_dashboard/appointments/views.py"
click node_dashboard_template "https://github.com/muhammadahmadraza5088/dental_cleanic/blob/master/dental_dashboard/appointments/templates/appointments/dashboard.html"
click node_add_template "https://github.com/muhammadahmadraza5088/dental_cleanic/blob/master/dental_dashboard/appointments/templates/appointments/add_appointment.html"
click node_edit_template "https://github.com/muhammadahmadraza5088/dental_cleanic/blob/master/dental_dashboard/appointments/templates/appointments/edit_appointment.html"
click node_vapi_webhook "https://github.com/muhammadahmadraza5088/dental_cleanic/blob/master/dental_dashboard/appointments/views.py"
click node_book_handler "https://github.com/muhammadahmadraza5088/dental_cleanic/blob/master/dental_dashboard/appointments/views.py"
click node_check_handler "https://github.com/muhammadahmadraza5088/dental_cleanic/blob/master/dental_dashboard/appointments/views.py"
click node_cancel_handler "https://github.com/muhammadahmadraza5088/dental_cleanic/blob/master/dental_dashboard/appointments/views.py"
click node_reschedule_handler "https://github.com/muhammadahmadraza5088/dental_cleanic/blob/master/dental_dashboard/appointments/views.py"
click node_appointment_model "https://github.com/muhammadahmadraza5088/dental_cleanic/blob/master/dental_dashboard/appointments/models.py"
click node_sqlite "https://github.com/muhammadahmadraza5088/dental_cleanic/blob/master/dental_dashboard/db.sqlite3"
click node_admin_config "https://github.com/muhammadahmadraza5088/dental_cleanic/blob/master/dental_dashboard/appointments/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_project_urls,node_app_urls,node_staff_user toneBlue
class node_staff_views,node_dashboard_template,node_add_template,node_edit_template toneAmber
class node_vapi_webhook,node_book_handler,node_check_handler,node_cancel_handler,node_reschedule_handler,node_vapi toneMint
class node_appointment_model,node_sqlite,node_admin_config toneRose
```

## Components

### Web routing

- [Project routes](https://github.com/muhammadahmadraza5088/dental_cleanic/blob/master/dental_dashboard/dental_dashboard/urls.py): `dental_dashboard/dental_dashboard/urls.py`
- [Appointment routes](https://github.com/muhammadahmadraza5088/dental_cleanic/blob/master/dental_dashboard/appointments/urls.py): `dental_dashboard/appointments/urls.py`

### Staff management

- [Staff views](https://github.com/muhammadahmadraza5088/dental_cleanic/blob/master/dental_dashboard/appointments/views.py): `dental_dashboard/appointments/views.py`
- [Dashboard page](https://github.com/muhammadahmadraza5088/dental_cleanic/blob/master/dental_dashboard/appointments/templates/appointments/dashboard.html): `dental_dashboard/appointments/templates/appointments/dashboard.html`
- [Add page](https://github.com/muhammadahmadraza5088/dental_cleanic/blob/master/dental_dashboard/appointments/templates/appointments/add_appointment.html): `dental_dashboard/appointments/templates/appointments/add_appointment.html`
- [Edit page](https://github.com/muhammadahmadraza5088/dental_cleanic/blob/master/dental_dashboard/appointments/templates/appointments/edit_appointment.html): `dental_dashboard/appointments/templates/appointments/edit_appointment.html`

### Voice operations

- [Vapi webhook](https://github.com/muhammadahmadraza5088/dental_cleanic/blob/master/dental_dashboard/appointments/views.py): `dental_dashboard/appointments/views.py`
- [Book appointment](https://github.com/muhammadahmadraza5088/dental_cleanic/blob/master/dental_dashboard/appointments/views.py): `dental_dashboard/appointments/views.py`
- [Check appointment](https://github.com/muhammadahmadraza5088/dental_cleanic/blob/master/dental_dashboard/appointments/views.py): `dental_dashboard/appointments/views.py`
- [Cancel appointment](https://github.com/muhammadahmadraza5088/dental_cleanic/blob/master/dental_dashboard/appointments/views.py): `dental_dashboard/appointments/views.py`
- [Reschedule appointment](https://github.com/muhammadahmadraza5088/dental_cleanic/blob/master/dental_dashboard/appointments/views.py): `dental_dashboard/appointments/views.py`

### Appointment data

- [Appointment model](https://github.com/muhammadahmadraza5088/dental_cleanic/blob/master/dental_dashboard/appointments/models.py): `dental_dashboard/appointments/models.py`
- [SQLite database](https://github.com/muhammadahmadraza5088/dental_cleanic/blob/master/dental_dashboard/db.sqlite3): `dental_dashboard/db.sqlite3`
- [Admin registration](https://github.com/muhammadahmadraza5088/dental_cleanic/blob/master/dental_dashboard/appointments/admin.py): `dental_dashboard/appointments/admin.py`

### Other components

- **Staff user**
- **Vapi assistant**

## Connections

- Staff user → Project routes: requests pages
- Project routes → Appointment routes: includes routes
- Appointment routes → Staff views: dispatches staff
- Staff views → Appointment model: queries and updates
- Staff views → Dashboard page: renders dashboard
- Staff views → Add page: renders form
- Staff views → Edit page: renders form
- Vapi assistant → Project routes: posts webhook
- Appointment routes → Vapi webhook: dispatches webhook
- Vapi webhook → Book appointment: dispatches tool
- Vapi webhook → Check appointment: dispatches tool
- Vapi webhook → Cancel appointment: dispatches tool
- Vapi webhook → Reschedule appointment: dispatches tool
- Book appointment → Appointment model: checks and creates
- Check appointment → Appointment model: queries
- Cancel appointment → Appointment model: queries and updates
- Reschedule appointment → Appointment model: checks and updates
- Appointment model → SQLite database: persists records
- Project routes → Admin registration: routes admin
- Admin registration → Appointment model: registers model
