# Decisions — Naming Convention > **Terakhir Diperbarui:** 2026-06-29 --- ## File & Folder | Tipe | Konvensi | Contoh | |------|----------|--------| | PHP Class file | `PascalCase.php` | `LdapAuthService.php` | | Blade template | `kebab-case.blade.php` | `user-profile.blade.php` | | Migration | `YYYY_MM_DD_HHMMSS_verb_table.php` | `2026_06_23_create_service_tokens_table.php` | | PowerShell script | `verb-noun.ps1` | `deploy-geonet-console.ps1` | | Docs markdown | `kebab-case.md` | `system-overview.md` | | ADR | `ADR-NNNN-title.md` | `ADR-0001-monorepo-structure.md` | | Mermaid diagram | `purpose.mmd` | `deployment.mmd` | --- ## Database | Tipe | Konvensi | Contoh | |------|----------|--------| | Tabel | `snake_case` plural | `ldap_user_meta`, `service_tokens` | | Kolom | `snake_case` | `last_used_at`, `display_name` | | FK | `_id` | `user_id`, `token_id` | | Index | `__index` | `service_tokens_service_index` | | DB name | `_` | `databaselist_app`, `databaselist_audit` | --- ## API Routes | Konvensi | Contoh | |----------|--------| | `/kebab-case` plural | `/api/v1/ldap/users` | | Path param | `/api/v1/service-tokens/{id}` | | Nested resource | `/api/v1/ldap/users/{username}/groups` | | Action non-CRUD | `POST /api/v1/service-tokens/{id}/revoke` | --- ## PHP / Laravel | Tipe | Konvensi | Contoh | |------|----------|--------| | Class | `PascalCase` | `LdapAuthService` | | Method | `camelCase` | `resolveToken()` | | Variable | `camelCase` | `$apiActor` | | Constant | `UPPER_SNAKE_CASE` | `TOKEN_TYPE_JWT` | --- ## Env Variables Semua `UPPER_SNAKE_CASE`: ``` APP_NAME, DB_CONNECTION, LDAP_HOST, OSS_ENDPOINT ``` --- ## Git Commit ``` : ``` Contoh: `feat: tambah endpoint regenerate service token`