How gustiagung1100-glitch/e-sppg-tmg2 works
E-SPPG TMG2 is a management system for an Indonesian nutrition-service unit supporting meal planning, procurement, kitchen operations, distribution, and administration. Users enter through authentication and role-based module access; the app then presents operational modules for managing data and producing reports. The source index documents many module-to-store and module-to-helper imports, but the excerpts do not expose all runtime calls, so several subsystems are shown without speculative connections.
Main entry points: App.tsx Application Shell · store.tsx Application State · NutritionMenuModule.tsx Nutrition Menu · ProcurementModule.tsx Procurement & QC
Components 25
Access & Navigation
- Authentication
src/components/auth/LoginPage.tsx - Role Access Guard
src/components/auth/AuthGuard.tsx - Module Access Rules
src/lib/routeGuard.ts - Application Shell
src/App.tsx
Planning & Master Data
- Master Data
src/components/modules/MasterDataModule.tsx - Nutrition Menu
src/components/modules/NutritionMenuModule.tsx - Beneficiary Nutrition
src/components/modules/BeneficiaryNutritionTab.tsx - Institutions
src/components/modules/InstitutionsModule.tsx
Supply & Operations
- Procurement & QC
src/components/modules/ProcurementModule.tsx - Supplier Portal
src/components/modules/SupplierPortalModule.tsx - Inventory
src/components/modules/InventoryModule.tsx - Production
src/components/modules/ProductionModule.tsx
Delivery & Reporting
- Distribution
src/components/modules/DistributionModule.tsx - Volunteers
src/components/modules/VolunteersModule.tsx - Letters
src/components/modules/LettersModule.tsx - Reports
src/components/modules/ReportsModule.tsx - Dashboard
src/components/modules/DashboardModule.tsx
Shared Platform
- Application State
src/lib/store.tsx - Firestore Operations
src/lib/databaseService.ts - Firebase Client
src/lib/firebase.ts - Dynamic Forms
src/components/common/DynamicFormBuilder.tsx - Form Schemas
src/lib/dynamicFormSchemas.ts - Export Utilities
src/lib/exportUtils.ts - BAST Documents
src/components/common/BASTDocumentSheet.tsx
Other components
- Staff / Supplier
Connections 32
- Staff / Supplier → Authentication: signs in
src/components/auth/LoginPage.tsx - Authentication → Application State: updates session
src/components/auth/LoginPage.tsx - Role Access Guard → Application State: reads user state
src/components/auth/AuthGuard.tsx - Role Access Guard → Module Access Rules: checks access
src/components/auth/AuthGuard.tsx - Role Access Guard → Application Shell: renders authorized content
src/App.tsx - Application Shell → Dashboard: dispatches module
src/App.tsx - Application Shell → Master Data: dispatches module
src/App.tsx - Application Shell → Nutrition Menu: dispatches module
src/App.tsx - Application Shell → Institutions: dispatches module
src/App.tsx - Application Shell → Volunteers: dispatches module
src/App.tsx - Application Shell → Letters: dispatches module
src/App.tsx - Application Shell → Reports: dispatches module
src/App.tsx - Application Shell → Application State: reads app state
src/App.tsx - Master Data → Application State: uses shared state
- Nutrition Menu → Application State: uses shared state
src/components/modules/NutritionMenuModule.tsx - Nutrition Menu → Beneficiary Nutrition: renders tab
src/components/modules/NutritionMenuModule.tsx - Nutrition Menu → Dynamic Forms: uses form builder
src/components/modules/NutritionMenuModule.tsx - Nutrition Menu → Form Schemas: reads schemas
src/components/modules/NutritionMenuModule.tsx - Nutrition Menu → Export Utilities: uses exports
src/components/modules/NutritionMenuModule.tsx - Institutions → Application State: uses shared state
src/App.tsx - Procurement & QC → Application State: uses shared state
src/components/modules/ProcurementModule.tsx - Procurement & QC → Dynamic Forms: uses form builder
src/components/modules/ProcurementModule.tsx - Procurement & QC → Form Schemas: reads schemas
src/components/modules/ProcurementModule.tsx - Procurement & QC → Export Utilities: uses exports
src/components/modules/ProcurementModule.tsx - Production → Application State: uses shared state
src/components/modules/ProductionModule.tsx - Production → BAST Documents: resolves BAST fields
src/components/modules/ProductionModule.tsx - Production → Dynamic Forms: uses form builder
src/components/modules/ProductionModule.tsx - Reports → BAST Documents: exports BAST
src/components/modules/ReportsModule.tsx - Reports → Export Utilities: uses exports
src/components/modules/ReportsModule.tsx - Dynamic Forms → Application State: reads app state
src/components/common/DynamicFormBuilder.tsx - Firestore Operations → Firebase Client: uses Firestore client
src/lib/databaseService.ts - Application State → Firebase Client: uses Firebase services
src/lib/store.tsx