How faith-jebet/justicore works
Justicore is a worker-protection reporting platform: workers submit incident reports through a web form or a USSD menu, and case officers can view submitted reports in a dashboard. The backend also provides a rights-information response through USSD; case-status lookup is explicitly unfinished. The sampled login only simulates authentication, and dashboard action buttons do not implement case-management operations. The tree and excerpts do not establish a working case-assignment, corporate-response, or notification workflow.
Main entry points: App.jsx App router · main.py API and USSD routes · database.py Database sessions · models.py ORM models
Components 14
Web experience
- App router
frontend/src/App.jsx - Incident form
frontend/src/components/ReportForm.jsx - Simulated login
frontend/src/components/Login.jsx - Reports dashboard
frontend/src/components/Dashboard.jsx
Reporting API
- API and USSD routes
backend/main.py - Request schemas
backend/schemas.py - USSD menu handling
backend/main.py - Report handling
backend/main.py
Report data
- ORM models
backend/models.py - Database sessions
backend/database.py - SQLite database
backend/database.py
Other components
- Worker
- Case officer
- USSD gateway
Connections 18
- Worker → App router: opens
- Case officer → App router: opens
- USSD gateway → USSD menu handling: posts menu input
- App router → Incident form: routes to
- App router → Simulated login: routes to
- App router → Reports dashboard: routes to
- Simulated login → App router: navigates to dashboard
- Incident form → API and USSD routes: posts report
- Reports dashboard → API and USSD routes: fetches reports
- API and USSD routes → Request schemas: validates and shapes
- API and USSD routes → Report handling: dispatches report routes
- API and USSD routes → USSD menu handling: dispatches USSD route
- Report handling → Database sessions: uses session
- USSD menu handling → Database sessions: uses session
- Report handling → ORM models: creates and queries
- USSD menu handling → ORM models: creates report
- ORM models → Database sessions: uses declarative base
- Database sessions → SQLite database: connects to SQLite