How ikjotsingh2710/civicpulse works
Civicpulse is a citizen-facing campus and city issue-reporting application with public issue discovery, government-portal handoff, and administration tools. The principal flow is a citizen signs in, prepares a report with a photo and location, submits it, and can track it or hand it to a jurisdictional portal. The graph also shows community issue views, account and engagement features, and admin operations. Relationships are limited to route declarations, excerpted calls, and SOURCE INDEX references; unsampled modules are represented by their existing paths, without assuming their internal behavior.
Main entry points: app.routes.ts Application routes · tickets.service.ts Ticket service · report-page.ts Report submission · auth.service.ts Authentication
Components 34
Citizen experience
- Application routes
src/app/app.routes.ts - Sign-in
src/app/features/auth/auth-page.ts - Home and discovery
src/app/features/home/home-page.ts - Issue listings
src/app/features/issues/issues-page.ts - Profile and tracking
src/app/features/profile/profile-page.ts - Resolved reports
src/app/features/resolved/resolved-page.ts - Shared report
src/app/features/share/shared-report-page.ts - Pulse Points
src/app/features/points/pulse-points-page.ts - Security settings
src/app/features/security/security-page.ts
Reports and portals
- Report submission
src/app/features/report/report-page.ts - Ticket service
src/app/core/tickets.service.ts - Location capture
src/app/core/geolocate.ts - Camera capture
src/app/shared/camera-capture.ts - Photo storage
src/app/core/media.service.ts - Portal directory
src/app/features/portals/portal-directory-page.ts - Portal routing
src/app/core/portal.service.ts - Jurisdiction matching
src/app/core/portal/jurisdiction.ts - Portal connectors
src/app/core/portal/connector.ts - Portal handoff
src/app/shared/portal-handoff.ts - Ticket escalations
src/app/features/escalations/escalations-page.ts
Administration
- Admin control desk
src/app/features/admin/admin-page.ts - Report administration
src/app/features/admin/admin-reports.ts - Admin service
src/app/core/admin.service.ts
Shared platform
- Authentication
src/app/core/auth.service.ts - Route guards
src/app/core/auth.guards.ts - Supabase client
src/app/core/supabase.client.ts - Report updates
src/app/core/updates.service.ts - Notifications
src/app/core/notifications.service.ts - Localization
src/app/core/i18n.service.ts - Domain models
src/app/core/models.ts - Feedback service
src/app/core/feedback.service.ts
Other components
- Citizen
- Government portals
- Supabase data and auth
Connections 48
- Citizen → Application routes: opens app
src/app/app.routes.ts - Application routes → Home and discovery: routes to
src/app/app.routes.ts - Application routes → Sign-in: routes to
src/app/app.routes.ts - Application routes → Issue listings: routes to
src/app/app.routes.ts - Application routes → Report submission: routes to
src/app/app.routes.ts - Application routes → Profile and tracking: routes to
src/app/app.routes.ts - Application routes → Resolved reports: routes to
src/app/app.routes.ts - Application routes → Shared report: routes to
src/app/app.routes.ts - Application routes → Portal directory: routes to
src/app/app.routes.ts - Application routes → Pulse Points: routes to
src/app/app.routes.ts - Application routes → Security settings: routes to
src/app/app.routes.ts - Application routes → Ticket escalations: routes to
src/app/app.routes.ts - Application routes → Admin control desk: routes to
src/app/app.routes.ts - Application routes → Route guards: checks access
src/app/app.routes.ts - Sign-in → Authentication: authenticates
src/app/features/auth/auth-page.ts - Report submission → Ticket service: submits reports
src/app/features/report/report-page.ts - Report submission → Location capture: uses location
src/app/features/report/report-page.ts - Report submission → Camera capture: offers capture
src/app/features/report/report-page.ts - Report submission → Photo storage: uses photos
src/app/features/report/report-page.ts - Report submission → Portal handoff: offers handoff
src/app/features/report/report-page.ts - Home and discovery → Ticket service: loads tickets
src/app/features/home/home-page.ts - Home and discovery → Camera capture: offers capture
src/app/features/home/home-page.ts - Issue listings → Ticket service: loads issues
src/app/features/issues/issues-page.ts - Profile and tracking → Ticket service: loads reports
src/app/features/profile/profile-page.ts - Profile and tracking → Report updates: loads updates
src/app/features/profile/profile-page.ts - Resolved reports → Ticket service: loads resolved
src/app/features/resolved/resolved-page.ts - Shared report → Ticket service: loads report
src/app/features/share/shared-report-page.ts - Ticket escalations → Ticket service: uses tickets
src/app/features/escalations/escalations-page.ts - Portal directory → Portal routing: loads directory
src/app/features/portals/portal-directory-page.ts - Portal handoff → Portal routing: requests handoff
src/app/shared/portal-handoff.ts - Portal routing → Jurisdiction matching: routes complaint
src/app/core/portal.service.ts - Portal routing → Portal connectors: creates connector
src/app/core/portal.service.ts - Portal handoff → Government portals: opens portal
src/app/shared/portal-handoff.ts - Admin control desk → Admin service: uses admin data
src/app/features/admin/admin-page.ts - Admin control desk → Report administration: loads reports
src/app/features/admin/admin-page.ts - Report administration → Ticket service: uses ticket data
src/app/features/admin/admin-reports.ts - Ticket service → Authentication: checks identity
src/app/core/tickets.service.ts - Ticket service → Photo storage: manages photos
src/app/core/tickets.service.ts - Authentication → Supabase client: uses client
src/app/core/auth.service.ts - Supabase client → Supabase data and auth: connects to
src/app/core/supabase.client.ts - Admin service → Supabase client: uses client
src/app/core/admin.service.ts - Notifications → Supabase client: uses client
src/app/core/notifications.service.ts - Notifications → Authentication: uses identity
src/app/core/notifications.service.ts - Report updates → Authentication: uses identity
src/app/core/updates.service.ts - Report updates → Ticket service: uses tickets
src/app/core/updates.service.ts - Home and discovery → Localization: uses translations
src/app/features/home/home-page.ts - Report submission → Localization: uses translations
src/app/features/report/report-page.ts - Portal directory → Localization: uses translations
src/app/features/portals/portal-directory-page.ts