How prannsss/seebu works
SEEBU is a civic-services PWA: residents authenticate, submit geotagged complaints and track their status; city administrators triage and assign reports, workforce administrators delegate department tasks, and officers complete work with photo proof. The frontend proxies API requests to an Express backend, which uses Supabase for application data and storage. Privacy scanning and EgoBlur redaction protect submitted images. README capabilities inform the broader workflow, but unsampled controller and route wiring is not inferred.
Main entry points: route.ts API proxy · reportController.ts Report handling · app.ts Express API · db.ts Supabase
Components 24
Web experience
- Resident portal
src/app/client/page.tsx - Report submission
src/app/client/report/page.tsx - Report tracking
src/app/client/tracking/page.tsx - Admin operations
src/app/admin/reports/page.tsx - Department queue
src/app/workforce-admin/page.tsx - Officer tasks
src/app/workforce/tasks/page.tsx - Auth workflows
src/app/auth/login/page.tsx - API proxy
src/app/api/proxy/[...path]/route.ts - Session cookies
src/app/api/session/route.ts - Task data hooks
src/hooks/queries/useTasks.ts
Backend API
- Express API
backend/src/app.ts - Auth routes
backend/src/routes/authRoutes.ts - Report handling
backend/src/controllers/reportController.ts - Task handling
backend/src/controllers/taskController.ts - Analytics
backend/src/controllers/analyticsController.ts - Email notifications
backend/src/utils/emailService.ts - SMS notifications
backend/src/utils/smsService.ts
Image privacy
- Image moderation
backend/src/utils/imageModeration.ts - Media storage
backend/src/utils/mediaStorage.ts - EgoBlur service
egoblur-service/main.py
Data services
- Supabase
backend/src/config/db.ts
Other components
- Resident
- City staff
- Field officer
Connections 28
- Resident → Auth workflows: signs in
- Auth workflows → API proxy: requests auth
- API proxy → Express API: forwards API
- Express API → Auth routes: mounts routes
- Auth routes → Session cookies: returns credentials
- Resident → Report submission: submits issue
- Report submission → API proxy: sends report
- API proxy → Express API: forwards API
- Report handling → Image moderation: checks images
- Report handling → Media storage: persists photos
- Report handling → Supabase: reads and writes
- Media storage → EgoBlur service: requests blur
- Media storage → Supabase: stores images
- Report handling → Email notifications: sends tracking
- Report handling → SMS notifications: sends tracking
- Resident → Report tracking: checks progress
- Report tracking → API proxy: requests report
- City staff → Admin operations: reviews reports
- Admin operations → API proxy: triages reports
- City staff → Department queue: delegates work
- Department queue → API proxy: manages queue
- Field officer → Officer tasks: executes task
- Officer tasks → Task data hooks: loads tasks
- Task data hooks → API proxy: fetches and updates
- API proxy → Express API: forwards task API
- Task handling → Supabase: reads and writes
- City staff → Analytics: views metrics
- Analytics → Supabase: queries metrics