Developer Edition Only — This content applies to the Developer Edition license.
The app/ module contains everything you can customize.
Key packages:
| Package | Contents |
|---|---|
com.dmsi.app | App (main class), DeveloperWorkspaceService |
com.dmsi.cli | DmsiCli and all command handlers |
com.dmsi.service | AuthenticationService, BackupService, ThemeService, GitService, etc. |
com.dmsi.ui.page | All page controllers (Dashboard, Products, Projects, etc.) |
com.dmsi.ui.dialog | Dialog window controllers |
com.dmsi.ui.component | Reusable UI components |
Design Patterns Used #
Repository Pattern — Each domain entity has a repository class. Repositories handle all SQL and return entity objects. Controllers and services never write SQL directly.
Singleton Pattern — Services expose a static getInstance() method. Call ServiceName.getInstance() throughout the codebase.
Observer / Callback — The AppHooks interface allows the core engine to call back into the app layer for operations that require app context (backup, escalation, memory, git).
Service Layer — Business logic lives in services. Controllers are thin — they only handle UI events and call services.
