How jomar2025/reporteu works
Reporta Barranquilla is a citizen-reporting application with separate citizen and responsible-entity experiences. Citizens register or sign in, submit a categorized report with location, description, evidence and identified/anonymous mode, then track its status. Entities sign in to review assigned reports and update status; citizens can view report details and timelines. App.jsx owns page selection, authentication, report operations and Supabase access. The README is only a Vite template; capability details come from the sampled UI and source index, so unsampled behavior is not inferred.
Main entry points: App.jsx App coordinator · DashboardHeader.jsx Dashboard header · StatusBadge.jsx Status badge · ReportDetail.jsx Report detail
Components 20
Citizen experience
- Public home
src/pages/Home.jsx - Registration
src/pages/Register.jsx - Citizen login
src/pages/Login.jsx - Report intake
src/pages/NewReport.jsx - Citizen dashboard
src/pages/Dashboard.jsx - My reports
src/pages/MyReports.jsx - Report detail
src/pages/ReportDetail.jsx
Entity workflow
- Entity login
src/entity/EntityLogin.jsx - Entity dashboard
src/entity/EntityDashboard.jsx - Assigned reports
src/entity/EntityReports.jsx - Entity report detail
src/entity/EntityReportDetail.jsx
Shared interface
- Dashboard header
src/components/DashboardHeader.jsx - Report row
src/components/ReportRow.jsx - Status badge
src/components/StatusBadge.jsx - Status timeline
src/components/StatusTimeline.jsx
Application services
- App coordinator
src/App.jsx - Supabase client
src/lib/supabaseClient.js
Other components
- Citizen
- Entity staff
- Supabase service
Connections 29
- Citizen → Public home: visits
src/pages/Home.jsx - Entity staff → Entity login: signs in
- App coordinator → Public home: renders
src/App.jsx - App coordinator → Registration: renders
src/App.jsx - App coordinator → Citizen login: renders
src/App.jsx - App coordinator → Report intake: renders
src/App.jsx - App coordinator → Citizen dashboard: renders
src/App.jsx - App coordinator → My reports: renders
src/App.jsx - App coordinator → Report detail: renders
src/App.jsx - App coordinator → Entity login: renders
src/App.jsx - App coordinator → Entity dashboard: renders
src/App.jsx - App coordinator → Assigned reports: renders
src/App.jsx - App coordinator → Entity report detail: renders
src/App.jsx - App coordinator → Supabase client: queries
src/App.jsx - Supabase client → Supabase service: connects
src/lib/supabaseClient.js - Citizen dashboard → Dashboard header: renders
src/pages/Dashboard.jsx - Citizen dashboard → Report row: renders
src/pages/Dashboard.jsx - My reports → Dashboard header: renders
src/pages/MyReports.jsx - My reports → Report row: renders
src/pages/MyReports.jsx - Report row → Status badge: renders
src/components/ReportRow.jsx - Entity dashboard → Status badge: renders
src/entity/EntityDashboard.jsx - Entity report detail → Dashboard header: renders
src/entity/EntityReportDetail.jsx - Entity report detail → Status badge: renders
src/entity/EntityReportDetail.jsx - Entity report detail → Status timeline: renders
src/entity/EntityReportDetail.jsx - Assigned reports → Dashboard header: renders
src/entity/EntityReports.jsx - Assigned reports → Status badge: renders
src/entity/EntityReports.jsx - Report detail → Dashboard header: renders
src/pages/ReportDetail.jsx - Report detail → Status badge: renders
src/pages/ReportDetail.jsx - Report detail → Status timeline: renders
src/pages/ReportDetail.jsx