How moonx388/gereja works
Gereja Digital combines a church-management dashboard and member portal with a NestJS API, tenant-aware identity, and an AI chatbot integration. The principal workflow is a user authenticating into a church tenant, then using the portal or admin dashboard to manage church records through the API. The graph preserves the documented bot, reporting, attendance, and notification capabilities; some are represented by their enclosing source directories because their implementation was not sampled. Data-store wiring is not inferred from adapter names alone.
Main entry points: src Church data API · auth.service.ts Auth service · api.ts API client · pages Admin dashboard
Components 29
Web applications
- Member portal
client_side/app - Admin dashboard
client_side/app/admin/pages - API client
client_side/lib/api.ts - Login and SSO
client_side/app/login/page.tsx
Identity and tenants
- Auth API
server_side/src/auth - Auth service
server_side/src/auth/auth.service.ts - User management
server_side/src/users - Tenant management
server_side/src/tenants - SSO verification
server_side/src/sso
Church operations
- Church data API
server_side/src - Member records
server_side/src/jemaat - Family records
server_side/src/keluarga - Staff and servants
server_side/src/pelayan - Finance
server_side/src/keuangan - Inventory
server_side/src/inventaris - Schedules
server_side/src/jadwal - Notifications
server_side/src/notif - Attendance and reports
client_side/app/admin/pages
Chatbot
- Bot endpoints
server_side/src/bot - Bot service
server_side/src/bot/bot.service.ts - AI service
server_side/src/bot/ai/ai.service.ts - Dialogflow webhook
server_side/src/bot/dialogflow.controller.ts
Persistence layer
- Generic CRUD
server_side/src/common/base/generic-controller.ts - Storage adapters
server_side/src/adapters - Database
Other components
- Church member
- Church admin
- WhatsApp user
- Dialogflow
Connections 29
- Church member → Member portal: uses
- Church admin → Admin dashboard: manages
- Member portal → Login and SSO: opens login
- Admin dashboard → Login and SSO: opens login
- Login and SSO → API client: submits credentials
- API client → Auth API: calls
- Auth API → Auth service: delegates
- Auth service → User management: looks up users
- Auth service → Tenant management: resolves church
- Auth service → User management: creates or updates
- SSO verification → Auth service: issues local login
- Admin dashboard → API client: requests records
- Member portal → API client: requests services
- API client → Church data API: calls
- Church data API → Member records: dispatches
- Church data API → Family records: dispatches
- Church data API → Staff and servants: dispatches
- Church data API → Finance: dispatches
- Church data API → Inventory: dispatches
- Church data API → Schedules: dispatches
- Church data API → Notifications: dispatches
- Admin dashboard → Attendance and reports: views
- Bot endpoints → Bot service: delegates
- Bot service → AI service: generates replies
- WhatsApp user → Bot service: sends messages
- Bot service → WhatsApp user: replies via
- Dialogflow → Dialogflow webhook: posts webhook
- Dialogflow webhook → Tenant management: resolves tenant
- Church data API → Generic CRUD: extends CRUD