# rifkyoping/laravel-ikatanmahasiswakalukku architecture

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

## Overview

IMK’s Laravel website publishes organization information and supports admin-managed content and member recruitment. The main workflow is a visitor browsing public pages or submitting a registration; administrators manage the resulting records and other site content through the CMS. The graph includes the major README capabilities using the available tree; only sampled controller behavior supports detailed storage and file-handling links, so unsampled wiring is left broad or unconnected.

Main entry points: [`app/Http/Controllers/AdminRegistrationController.php`](https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/app/Http/Controllers/AdminRegistrationController.php) (Manage registrations), [`routes/web.php`](https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/routes/web.php) (Web routes), [`app/Http/Controllers/AdminGalleryController.php`](https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/app/Http/Controllers/AdminGalleryController.php) (Manage galleries), [`app/Http/Controllers/AdminSettingController.php`](https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/app/Http/Controllers/AdminSettingController.php) (Homepage settings)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["Web entry"]
  node_web_routes["Web routes<br/>[web.php]"]
  node_registration_routes["Auth routes<br/>[auth.php]"]
end

subgraph group_public["Public information"]
  node_registration_page["Member signup"]
  node_registration_handler["Registration"]
  node_public_pages["Public pages<br/>[welcome.blade.php]"]
  node_news_public["News browsing<br/>[NewsController.php]"]
  node_gallery_public["Gallery browsing"]
  node_attachments_public["Document repository"]
  node_structure_public["Organization structure"]
end

subgraph group_admin["Admin CMS"]
  node_admin_news["Manage news"]
  node_admin_gallery["Manage galleries"]
  node_admin_attachments["Manage attachments"]
  node_admin_members["Manage members"]
  node_admin_orgs["Manage organization"]
  node_admin_regs["Manage registrations"]
  node_admin_settings["Homepage settings"]
  node_admin_users["Manage accounts"]
  node_auth["Admin authentication"]
end

subgraph group_domain["Organization data"]
  node_news_model[("News records<br/>[News.php]")]
  node_gallery_model[("Gallery records<br/>[Gallery.php]")]
  node_attachment_model[("Attachment records<br/>[Attachment.php]")]
  node_member_model[("Member records<br/>[Member.php]")]
  node_organization_model[("Organization records<br/>[Organization.php]")]
  node_registration_model[("Registration records<br/>[Registration.php]")]
  node_setting_model[("Site settings<br/>[Setting.php]")]
  node_user_model[("Admin accounts<br/>[User.php]")]
  node_public_storage[("Uploaded files")]
end

node_visitor(("Public visitor"))
node_administrator(("Administrator"))

node_visitor -->|"requests pages"| node_web_routes
node_administrator -->|"uses CMS"| node_web_routes
node_web_routes -->|"registers auth routes"| node_registration_routes
node_visitor -->|"submits signup"| node_registration_page
node_registration_page -->|"posts form"| node_registration_handler
node_registration_handler -->|"creates registration"| node_registration_model
node_admin_regs -->|"lists and updates"| node_registration_model
node_admin_regs -->|"updates signup settings"| node_setting_model
node_admin_regs -->|"deletes permit files"| node_public_storage
node_admin_gallery -->|"creates and updates"| node_gallery_model
node_admin_gallery -->|"stores and deletes images"| node_public_storage
node_admin_settings -->|"updates settings"| node_setting_model
node_admin_settings -->|"stores photos"| node_public_storage
node_auth -->|"authenticates account"| node_user_model

click node_web_routes "https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/routes/web.php"
click node_registration_routes "https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/routes/auth.php"
click node_registration_page "https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/resources/views/pendaftaran.blade.php"
click node_registration_handler "https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/app/Http/Controllers/RegistrationController.php"
click node_public_pages "https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/resources/views/welcome.blade.php"
click node_news_public "https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/app/Http/Controllers/NewsController.php"
click node_gallery_public "https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/app/Http/Controllers/GalleryController.php"
click node_attachments_public "https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/app/Http/Controllers/AttachmentController.php"
click node_structure_public "https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/app/Http/Controllers/StructureController.php"
click node_admin_news "https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/app/Http/Controllers/AdminNewsController.php"
click node_admin_gallery "https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/app/Http/Controllers/AdminGalleryController.php"
click node_admin_attachments "https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/app/Http/Controllers/AdminAttachmentController.php"
click node_admin_members "https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/app/Http/Controllers/AdminMemberController.php"
click node_admin_orgs "https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/app/Http/Controllers/AdminOrganizationController.php"
click node_admin_regs "https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/app/Http/Controllers/AdminRegistrationController.php"
click node_admin_settings "https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/app/Http/Controllers/AdminSettingController.php"
click node_admin_users "https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/app/Http/Controllers/AdminUserController.php"
click node_auth "https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/app/Http/Controllers/Auth/AuthenticatedSessionController.php"
click node_news_model "https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/app/Models/News.php"
click node_gallery_model "https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/app/Models/Gallery.php"
click node_attachment_model "https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/app/Models/Attachment.php"
click node_member_model "https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/app/Models/Member.php"
click node_organization_model "https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/app/Models/Organization.php"
click node_registration_model "https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/app/Models/Registration.php"
click node_setting_model "https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/app/Models/Setting.php"
click node_user_model "https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/app/Models/User.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_registration_routes toneBlue
class node_registration_page,node_registration_handler,node_public_pages,node_news_public,node_gallery_public,node_attachments_public,node_structure_public toneAmber
class node_admin_news,node_admin_gallery,node_admin_attachments,node_admin_members,node_admin_orgs,node_admin_regs,node_admin_settings,node_admin_users,node_auth toneMint
class node_news_model,node_gallery_model,node_attachment_model,node_member_model,node_organization_model,node_registration_model,node_setting_model,node_user_model,node_public_storage toneRose
class node_visitor,node_administrator toneIndigo
```

## Components

### Web entry

- [Web routes](https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/routes/web.php): `routes/web.php`
- [Auth routes](https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/routes/auth.php): `routes/auth.php`

### Public information

- [Member signup](https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/resources/views/pendaftaran.blade.php): `resources/views/pendaftaran.blade.php`
- [Registration](https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/app/Http/Controllers/RegistrationController.php): `app/Http/Controllers/RegistrationController.php`
- [Public pages](https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/resources/views/welcome.blade.php): `resources/views/welcome.blade.php`
- [News browsing](https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/app/Http/Controllers/NewsController.php): `app/Http/Controllers/NewsController.php`
- [Gallery browsing](https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/app/Http/Controllers/GalleryController.php): `app/Http/Controllers/GalleryController.php`
- [Document repository](https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/app/Http/Controllers/AttachmentController.php): `app/Http/Controllers/AttachmentController.php`
- [Organization structure](https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/app/Http/Controllers/StructureController.php): `app/Http/Controllers/StructureController.php`

### Admin CMS

- [Manage news](https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/app/Http/Controllers/AdminNewsController.php): `app/Http/Controllers/AdminNewsController.php`
- [Manage galleries](https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/app/Http/Controllers/AdminGalleryController.php): `app/Http/Controllers/AdminGalleryController.php`
- [Manage attachments](https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/app/Http/Controllers/AdminAttachmentController.php): `app/Http/Controllers/AdminAttachmentController.php`
- [Manage members](https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/app/Http/Controllers/AdminMemberController.php): `app/Http/Controllers/AdminMemberController.php`
- [Manage organization](https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/app/Http/Controllers/AdminOrganizationController.php): `app/Http/Controllers/AdminOrganizationController.php`
- [Manage registrations](https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/app/Http/Controllers/AdminRegistrationController.php): `app/Http/Controllers/AdminRegistrationController.php`
- [Homepage settings](https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/app/Http/Controllers/AdminSettingController.php): `app/Http/Controllers/AdminSettingController.php`
- [Manage accounts](https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/app/Http/Controllers/AdminUserController.php): `app/Http/Controllers/AdminUserController.php`
- [Admin authentication](https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/app/Http/Controllers/Auth/AuthenticatedSessionController.php): `app/Http/Controllers/Auth/AuthenticatedSessionController.php`

### Organization data

- [News records](https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/app/Models/News.php): `app/Models/News.php`
- [Gallery records](https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/app/Models/Gallery.php): `app/Models/Gallery.php`
- [Attachment records](https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/app/Models/Attachment.php): `app/Models/Attachment.php`
- [Member records](https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/app/Models/Member.php): `app/Models/Member.php`
- [Organization records](https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/app/Models/Organization.php): `app/Models/Organization.php`
- [Registration records](https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/app/Models/Registration.php): `app/Models/Registration.php`
- [Site settings](https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/app/Models/Setting.php): `app/Models/Setting.php`
- [Admin accounts](https://github.com/rifkyoping/laravel-ikatanmahasiswakalukku/blob/main/app/Models/User.php): `app/Models/User.php`
- **Uploaded files**

### Other components

- **Public visitor**
- **Administrator**

## Connections

- Public visitor → Web routes: requests pages
- Administrator → Web routes: uses CMS
- Web routes → Auth routes: registers auth routes
- Public visitor → Member signup: submits signup
- Member signup → Registration: posts form
- Registration → Registration records: creates registration
- Manage registrations → Registration records: lists and updates
- Manage registrations → Site settings: updates signup settings
- Manage registrations → Uploaded files: deletes permit files
- Manage galleries → Gallery records: creates and updates
- Manage galleries → Uploaded files: stores and deletes images
- Homepage settings → Site settings: updates settings
- Homepage settings → Uploaded files: stores photos
- Admin authentication → Admin accounts: authenticates account
