How projectinmaker/frontend-asahi-books works
ASAHI Books is a browser-based ERP frontend covering accounting, sales, purchasing, inventory, cash and banking, production, fixed assets, preferences, and reporting. Users enter through the app shell, authenticate, open modules in a tabbed workspace, and perform business workflows that use a shared API client. The graph preserves major modules named in the tree, but unsampled features are represented at their exact component paths without guessed call links. Relationships are limited to those visible in excerpts or the SOURCE INDEX.
Main entry points: page.tsx App Shell · workflow-components.tsx Workflow Actions · api.ts API Client · auth-store.ts Authentication State
Components 31
App and Session
- App Shell
src/app/page.tsx - Authentication State
src/store/auth-store.ts - Tabbed Workspace
src/store/tab-store.ts - Dashboard
src/components/erp/dashboard.tsx
Finance and Controls
- Cash and Bank
src/components/erp/cash-bank/index.tsx - General Ledger
src/components/erp/general-ledger/index.tsx - Receivables Settlement
src/components/erp/pelunasan/index.tsx - Reports and Audit
src/components/erp/reports.tsx
Business Operations
- Sales
src/components/erp/sales/index.tsx - Purchasing
src/components/erp/purchasing/index.tsx - Inventory
src/components/erp/inventory/index.tsx - Production
src/components/erp/production/index.tsx - Fixed Assets
src/components/erp/fixed-assets/index.tsx - Configuration
src/components/erp/settings.tsx - Preferences
src/components/erp/preferensi.tsx
Shared Runtime
- API Client
src/lib/api.ts - API Contracts
src/types/api.ts - Workflow Actions
src/components/erp/workflow-components.tsx - Workflow API
src/lib/workflow-api.ts - Form Drafts
src/hooks/use-form-draft.ts - Draft Indicator
src/components/erp/draft-indicator.tsx - Delete Confirmation
src/components/erp/hard-delete-cancel-dialog.tsx - Money Formatting
src/lib/money.ts - PDF Utilities
src/lib/pdf-utils.ts - Searchable Dropdown
src/components/ui/searchable-dropdown.tsx - Button Primitive
src/components/ui/button.tsx - Alert Dialog
src/components/ui/alert-dialog.tsx - Select Primitive
src/components/ui/select.tsx - Table Primitive
src/components/ui/table.tsx
Other components
- ERP User
- ERP API
Connections 15
- ERP User → App Shell: uses
src/app/page.tsx - App Shell → Authentication State: reads session
src/app/page.tsx - App Shell → Tabbed Workspace: reads tabs
src/app/page.tsx - App Shell → Dashboard: renders
src/app/page.tsx - App Shell → Cash and Bank: renders
src/app/page.tsx - App Shell → Sales: renders
src/app/page.tsx - App Shell → Purchasing: renders
src/app/page.tsx - Authentication State → API Client: calls
src/store/auth-store.ts - API Client → ERP API: sends requests
src/lib/api.ts - Workflow Actions → API Client: uses
src/components/erp/workflow-components.tsx - Workflow Actions → Workflow API: calls
src/components/erp/workflow-components.tsx - Workflow Actions → API Contracts: uses contracts
src/components/erp/workflow-components.tsx - PDF Utilities → Money Formatting: formats amounts
src/lib/pdf-utils.ts - Searchable Dropdown → Button Primitive: renders
src/components/ui/searchable-dropdown.tsx - Alert Dialog → Button Primitive: uses variants
src/components/ui/alert-dialog.tsx