How syeimamsayyid/pokjadocument works
This is a Next.js application for BNN South Sulawesi’s E-POKJA HUKER services: public partnership applications and activity information, partner document workflows, staff/admin operations, and legal assistance. Users apply or register, track requests, and manage cooperation documents; administrators review records, publish activity information, and handle archives and reports. Google Sheets is the evidenced data store. The graph preserves major capabilities visible in the route and page tree, but many page-to-API relationships are not shown in the sampled excerpts, so those links are omitted.
Main entry points: sheet.ts Sheets access layer · beranda/page.tsx Public information · pengajuan/page.tsx Partnership application · route.ts Activity API
Components 25
Public services
- Public information
app/beranda/page.tsx - Partnership application
app/pengajuan/page.tsx - Request tracking
app/cek-pengajuan/page.tsx - FAQ chatbot
components/ChatbotWidget.tsx
Partner documents
- Partner dashboard
app/dashboard/mitra/page.tsx - Document workspace
app/mitra/dokumen/[id]/page.tsx - Document workflow API
app/api/dokumen/[id]/route.ts
Staff operations
- Document archive
app/dashboard/arsip/page.tsx - Archive API
app/api/arsip-dokumen/route.ts - Admin dashboard
app/dashboard/admin/page.tsx - Request management
app/dashboard/pengajuan/page.tsx - Activity management
app/dashboard/kelola-kegiatan/page.tsx - Activity planning
app/dashboard/rencana/page.tsx - Legal assistance
app/dashboard/hukum/pendampingan/page.tsx - Superadmin controls
app/dashboard/superadmin/page.tsx
Application services
- Sheets access layer
lib/sheet.ts - Google Sheets
- Session authorization
lib/auth.ts - Chatbot FAQ API
app/api/chatbot/faq/route.ts - Homepage data API
app/api/beranda/route.ts - Activity API
app/api/kelola-kegiatan/route.ts - Application API
app/api/pengajuan/route.ts
Other components
- Public visitor
- Partner user
- BNN staff
Connections 21
- Public visitor → Public information: views
- Public visitor → Partnership application: submits
- Public visitor → Request tracking: checks status
- Partner user → Partner dashboard: opens
- BNN staff → Admin dashboard: uses
- Partnership application → FAQ chatbot: renders
app/pengajuan/page.tsx - Public information → FAQ chatbot: renders
app/beranda/page.tsx - FAQ chatbot → Chatbot FAQ API: loads FAQs
components/ChatbotWidget.tsx - Document workspace → Document workflow API: manages documents
- Document workflow API → Sheets access layer: reads and updates
app/api/dokumen/[id]/route.ts - Document archive → Archive API: manages archive
- Archive API → Sheets access layer: reads and appends
app/api/arsip-dokumen/route.ts - Admin dashboard → Request management: navigates
app/dashboard/admin/page.tsx - Activity management → Activity API: loads activities
- Public information → Homepage data API: loads information
- Partnership application → Application API: sends application
- Homepage data API → Sheets access layer: reads activity data
app/api/beranda/route.ts - Activity API → Sheets access layer: reads activity data
app/api/kelola-kegiatan/route.ts - Application API → Sheets access layer: uses storage helpers
app/api/pengajuan/route.ts - Activity API → Session authorization: checks roles
app/api/kelola-kegiatan/route.ts - Sheets access layer → Google Sheets: reads and writes
lib/sheet.ts