# ichsanhanifdeal/drg_rekam_medis architecture

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

- Interactive diagram: https://gitdiagram.com/ichsanhanifdeal/drg_rekam_medis
- Repository: https://github.com/ichsanhanifdeal/drg_rekam_medis

## Overview

This is a Laravel dental-clinic administration app. Staff sign in, then manage patient registrations and treatment records, including odontogram data; they can also maintain treatment options and expenses, view dashboard and income summaries, and export reports. The graph shows the documented web-route dispatches and sampled controller/model relationships. Some features are represented from the route map and source index because their implementation excerpts were not provided; those limits are reflected by omitted links rather than inferred call chains.

Main entry points: [`routes/web.php`](https://github.com/ichsanhanifdeal/drg_rekam_medis/blob/main/routes/web.php) (Web routes), [`app/Models/Tindakan.php`](https://github.com/ichsanhanifdeal/drg_rekam_medis/blob/main/app/Models/Tindakan.php) (Treatment data), [`app/Models/Pendaftaran.php`](https://github.com/ichsanhanifdeal/drg_rekam_medis/blob/main/app/Models/Pendaftaran.php) (Patient records), [`app/Http/Controllers/TindakanController.php`](https://github.com/ichsanhanifdeal/drg_rekam_medis/blob/main/app/Http/Controllers/TindakanController.php) (Treatment records)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_access["Access and routing"]
  node_web_routes["Web routes<br/>[web.php]"]
  node_auth["Authentication<br/>[AuthController.php]"]
end

subgraph group_clinic["Clinic operations"]
  node_registrations["Patient registration"]
  node_treatments["Treatment records"]
  node_options["Treatment options"]
end

subgraph group_finance["Finance and reports"]
  node_dashboard["Dashboard and income"]
  node_expenses["Expense tracking"]
  node_reports["Reports and export"]
  node_report_export["Report export<br/>[LaporanExport.php]"]
  node_dashboard_view["Dashboard view<br/>[index.blade.php]"]
end

subgraph group_data["Domain data"]
  node_users["User accounts<br/>[User.php]"]
  node_patient_data["Patient records<br/>[Pendaftaran.php]"]
  node_treatment_data["Treatment data<br/>[Tindakan.php]"]
  node_option_data["Treatment option data<br/>[OpsiTindakan.php]"]
  node_expense_data["Expense data<br/>[Pengeluaran.php]"]
  node_odontograms["Odontogram data<br/>[Odotograms.php]"]
  node_db_config[("Database configuration<br/>[database.php]")]
end

node_staff(("Clinic staff"))

node_staff -->|"uses web app"| node_web_routes
node_web_routes -->|"routes auth"| node_auth
node_web_routes -->|"routes dashboard"| node_dashboard
node_web_routes -->|"routes patients"| node_registrations
node_web_routes -->|"routes treatments"| node_treatments
node_web_routes -->|"routes options"| node_options
node_web_routes -->|"routes expenses"| node_expenses
node_web_routes -->|"routes reports"| node_reports
node_auth -->|"authenticates and updates"| node_users
node_dashboard -->|"queries registrations"| node_patient_data
node_dashboard -->|"queries treatments"| node_treatment_data
node_dashboard -->|"renders dashboard"| node_dashboard_view
node_registrations -->|"creates and queries"| node_patient_data
node_registrations -->|"loads patient treatments"| node_treatment_data
node_treatments -->|"creates and queries"| node_treatment_data
node_treatments -->|"uses patient records"| node_patient_data
node_treatments -->|"queries odontograms"| node_odontograms
node_options -->|"manages options"| node_option_data
node_options -->|"uses patient records"| node_patient_data
node_expenses -->|"manages expenses"| node_expense_data
node_reports -->|"queries treatments"| node_treatment_data
node_reports -->|"queries expenses"| node_expense_data
node_reports -->|"exports report"| node_report_export
node_patient_data -->|"has many"| node_treatment_data
node_treatment_data -->|"belongs to"| node_patient_data
node_treatment_data -->|"belongs to"| node_option_data

click node_web_routes "https://github.com/ichsanhanifdeal/drg_rekam_medis/blob/main/routes/web.php"
click node_auth "https://github.com/ichsanhanifdeal/drg_rekam_medis/blob/main/app/Http/Controllers/AuthController.php"
click node_users "https://github.com/ichsanhanifdeal/drg_rekam_medis/blob/main/app/Models/User.php"
click node_dashboard "https://github.com/ichsanhanifdeal/drg_rekam_medis/blob/main/app/Http/Controllers/DashboardController.php"
click node_registrations "https://github.com/ichsanhanifdeal/drg_rekam_medis/blob/main/app/Http/Controllers/PendaftaranController.php"
click node_treatments "https://github.com/ichsanhanifdeal/drg_rekam_medis/blob/main/app/Http/Controllers/TindakanController.php"
click node_options "https://github.com/ichsanhanifdeal/drg_rekam_medis/blob/main/app/Http/Controllers/OpsiTindakanController.php"
click node_expenses "https://github.com/ichsanhanifdeal/drg_rekam_medis/blob/main/app/Http/Controllers/PengeluaranController.php"
click node_reports "https://github.com/ichsanhanifdeal/drg_rekam_medis/blob/main/app/Http/Controllers/LaporanController.php"
click node_report_export "https://github.com/ichsanhanifdeal/drg_rekam_medis/blob/main/app/Exports/LaporanExport.php"
click node_patient_data "https://github.com/ichsanhanifdeal/drg_rekam_medis/blob/main/app/Models/Pendaftaran.php"
click node_treatment_data "https://github.com/ichsanhanifdeal/drg_rekam_medis/blob/main/app/Models/Tindakan.php"
click node_option_data "https://github.com/ichsanhanifdeal/drg_rekam_medis/blob/main/app/Models/OpsiTindakan.php"
click node_expense_data "https://github.com/ichsanhanifdeal/drg_rekam_medis/blob/main/app/Models/Pengeluaran.php"
click node_odontograms "https://github.com/ichsanhanifdeal/drg_rekam_medis/blob/main/app/Models/Odotograms.php"
click node_db_config "https://github.com/ichsanhanifdeal/drg_rekam_medis/blob/main/config/database.php"
click node_dashboard_view "https://github.com/ichsanhanifdeal/drg_rekam_medis/blob/main/resources/views/dashboard/index.blade.php"

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_web_routes,node_auth toneBlue
class node_registrations,node_treatments,node_options toneAmber
class node_dashboard,node_expenses,node_reports,node_report_export,node_dashboard_view toneMint
class node_users,node_patient_data,node_treatment_data,node_option_data,node_expense_data,node_odontograms,node_db_config toneRose
class node_staff toneIndigo
```

## Components

### Access and routing

- [Web routes](https://github.com/ichsanhanifdeal/drg_rekam_medis/blob/main/routes/web.php): `routes/web.php`
- [Authentication](https://github.com/ichsanhanifdeal/drg_rekam_medis/blob/main/app/Http/Controllers/AuthController.php): `app/Http/Controllers/AuthController.php`

### Clinic operations

- [Patient registration](https://github.com/ichsanhanifdeal/drg_rekam_medis/blob/main/app/Http/Controllers/PendaftaranController.php): `app/Http/Controllers/PendaftaranController.php`
- [Treatment records](https://github.com/ichsanhanifdeal/drg_rekam_medis/blob/main/app/Http/Controllers/TindakanController.php): `app/Http/Controllers/TindakanController.php`
- [Treatment options](https://github.com/ichsanhanifdeal/drg_rekam_medis/blob/main/app/Http/Controllers/OpsiTindakanController.php): `app/Http/Controllers/OpsiTindakanController.php`

### Finance and reports

- [Dashboard and income](https://github.com/ichsanhanifdeal/drg_rekam_medis/blob/main/app/Http/Controllers/DashboardController.php): `app/Http/Controllers/DashboardController.php`
- [Expense tracking](https://github.com/ichsanhanifdeal/drg_rekam_medis/blob/main/app/Http/Controllers/PengeluaranController.php): `app/Http/Controllers/PengeluaranController.php`
- [Reports and export](https://github.com/ichsanhanifdeal/drg_rekam_medis/blob/main/app/Http/Controllers/LaporanController.php): `app/Http/Controllers/LaporanController.php`
- [Report export](https://github.com/ichsanhanifdeal/drg_rekam_medis/blob/main/app/Exports/LaporanExport.php): `app/Exports/LaporanExport.php`
- [Dashboard view](https://github.com/ichsanhanifdeal/drg_rekam_medis/blob/main/resources/views/dashboard/index.blade.php): `resources/views/dashboard/index.blade.php`

### Domain data

- [User accounts](https://github.com/ichsanhanifdeal/drg_rekam_medis/blob/main/app/Models/User.php): `app/Models/User.php`
- [Patient records](https://github.com/ichsanhanifdeal/drg_rekam_medis/blob/main/app/Models/Pendaftaran.php): `app/Models/Pendaftaran.php`
- [Treatment data](https://github.com/ichsanhanifdeal/drg_rekam_medis/blob/main/app/Models/Tindakan.php): `app/Models/Tindakan.php`
- [Treatment option data](https://github.com/ichsanhanifdeal/drg_rekam_medis/blob/main/app/Models/OpsiTindakan.php): `app/Models/OpsiTindakan.php`
- [Expense data](https://github.com/ichsanhanifdeal/drg_rekam_medis/blob/main/app/Models/Pengeluaran.php): `app/Models/Pengeluaran.php`
- [Odontogram data](https://github.com/ichsanhanifdeal/drg_rekam_medis/blob/main/app/Models/Odotograms.php): `app/Models/Odotograms.php`
- [Database configuration](https://github.com/ichsanhanifdeal/drg_rekam_medis/blob/main/config/database.php): `config/database.php`

### Other components

- **Clinic staff**

## Connections

- Clinic staff → Web routes: uses web app (evidence: `routes/web.php`)
- Web routes → Authentication: routes auth (evidence: `routes/web.php`)
- Web routes → Dashboard and income: routes dashboard (evidence: `routes/web.php`)
- Web routes → Patient registration: routes patients (evidence: `routes/web.php`)
- Web routes → Treatment records: routes treatments (evidence: `routes/web.php`)
- Web routes → Treatment options: routes options (evidence: `routes/web.php`)
- Web routes → Expense tracking: routes expenses (evidence: `routes/web.php`)
- Web routes → Reports and export: routes reports (evidence: `routes/web.php`)
- Authentication → User accounts: authenticates and updates (evidence: `app/Http/Controllers/AuthController.php`)
- Dashboard and income → Patient records: queries registrations (evidence: `app/Http/Controllers/DashboardController.php`)
- Dashboard and income → Treatment data: queries treatments (evidence: `app/Http/Controllers/DashboardController.php`)
- Dashboard and income → Dashboard view: renders dashboard (evidence: `app/Http/Controllers/DashboardController.php`)
- Patient registration → Patient records: creates and queries (evidence: `app/Http/Controllers/PendaftaranController.php`)
- Patient registration → Treatment data: loads patient treatments (evidence: `app/Http/Controllers/PendaftaranController.php`)
- Treatment records → Treatment data: creates and queries (evidence: `app/Http/Controllers/TindakanController.php`)
- Treatment records → Patient records: uses patient records (evidence: `app/Http/Controllers/TindakanController.php`)
- Treatment records → Odontogram data: queries odontograms (evidence: `app/Http/Controllers/TindakanController.php`)
- Treatment options → Treatment option data: manages options (evidence: `app/Http/Controllers/OpsiTindakanController.php`)
- Treatment options → Patient records: uses patient records (evidence: `app/Http/Controllers/OpsiTindakanController.php`)
- Expense tracking → Expense data: manages expenses (evidence: `app/Http/Controllers/PengeluaranController.php`)
- Reports and export → Treatment data: queries treatments (evidence: `app/Http/Controllers/LaporanController.php`)
- Reports and export → Expense data: queries expenses (evidence: `app/Http/Controllers/LaporanController.php`)
- Reports and export → Report export: exports report (evidence: `app/Http/Controllers/LaporanController.php`)
- Patient records → Treatment data: has many (evidence: `app/Models/Pendaftaran.php`)
- Treatment data → Patient records: belongs to (evidence: `app/Models/Tindakan.php`)
- Treatment data → Treatment option data: belongs to (evidence: `app/Models/Tindakan.php`)
