How nas0703/ipds-4.2.1 works
This is a multi-estate plantation operations platform: users work in a browser app to record and review estate activity, with a server API, Supabase-backed state, and AI-assisted knowledge features. Its domain areas include harvest and receipt capture, rainfall, grading, fertilizer, weeding, pruning, employees, and reporting. The sampled sources establish the app shell, authentication, transaction/OCR handling, and RAG flow; most other feature connections are based only on the repository tree and are therefore omitted rather than asserted.
Main entry points: App.tsx Application shell · rag.routes.ts Knowledge API · ragEngine.service.ts Grounded RAG · db.ts Supabase access
Components 25
Web application
- Application shell
src/App.tsx - Estate context
src/utils/estateContext.ts - Estate registry
src/config/estateRegistry.ts
Identity and access
- Sign-in state
src/features/auth/hooks/useAuth.ts - Role permissions
src/features/auth/services/rbacService.ts - API authentication
src/server/middleware/auth.ts
Estate operations
- Harvest records
src/hooks/useTransactionState.ts - Receipt OCR
src/features/input/services/ocrService.ts - Rainfall records
src/hooks/useRainfallData.ts - Fruit grading
src/features/kualiti/services/penggredanService.ts - Fertilizer operations
src/features/fertilizer/FertilizerModule.tsx - Weeding operations
src/features/merumput/MerumputModule.tsx - Pruning operations
src/features/pruning/PruningModule.tsx - Employee management
src/features/pekerja/services/employeeMasterService.ts
Reporting and insights
- Estate dashboard
src/features/dashboard/components/DashboardTab.tsx - Harvest analytics
src/features/hasil/hooks/useHasilAnalytics.ts - Report exports
src/features/export/services/excelExportService.ts
API and AI services
- HTTP server
server.ts - Knowledge API
src/server/routes/ai/rag.routes.ts - Grounded RAG
src/server/services/ragEngine.service.ts - Manual knowledge
src/server/services/mslKnowledge.service.ts - PDF ingestion
src/server/services/pdfIngestion.service.ts - Supabase access
src/server/db.ts
Other components
- Estate user
- Supabase service
Connections 18
- Estate user → Application shell: uses
src/App.tsx - Application shell → Sign-in state: loads auth
src/App.tsx - Application shell → Estate context: resolves estate
src/App.tsx - Estate context → Estate registry: resolves config
src/utils/estateContext.ts - Sign-in state → Role permissions: checks roles
src/features/auth/hooks/useAuth.ts - Sign-in state → HTTP server: requests session
src/features/auth/hooks/useAuth.ts - Application shell → Harvest records: loads state
src/App.tsx - Harvest records → Receipt OCR: parses receipt
src/hooks/useTransactionState.ts - HTTP server → Supabase access: configures access
server.ts - HTTP server → Knowledge API: mounts routes
server.ts - Knowledge API → API authentication: authenticates
src/server/routes/ai/rag.routes.ts - Knowledge API → Grounded RAG: generates answer
src/server/routes/ai/rag.routes.ts - Knowledge API → PDF ingestion: ingests documents
src/server/routes/ai/rag.routes.ts - Grounded RAG → Manual knowledge: retrieves chunks
src/server/services/ragEngine.service.ts - PDF ingestion → Grounded RAG: generates embeddings
src/server/services/pdfIngestion.service.ts - Grounded RAG → Supabase access: queries knowledge
src/server/services/ragEngine.service.ts - Manual knowledge → Supabase access: loads knowledge
src/server/services/mslKnowledge.service.ts - Supabase access → Supabase service: connects