How ruthieruth/cleartrace works
ClearTrace is a role-controlled registry for managing person and offense records, with agency searches, company record requests and central approval, and superadmin oversight. The principal workflow is an authorized user accessing a role-specific dashboard, then searching or maintaining records; companies can request a record and privileged staff can update its status. Backend controllers delegate domain operations to services, which use Prisma for persistence. The README describes audit trails and planned tenant isolation and duplicate review; source excerpts do not establish their implementation or frontend-to-endpoint wiring.
Main entry points: prisma.service.ts Prisma data access · jwt-auth.guards.ts JWT guard · roles.guard.ts Role guard · persons.controller.ts Person endpoints
Components 24
Role-based portal
- Agency dashboard
frontend/Components/(AgencyDashboard)/AgencyDashboard.tsx - Data officer dashboard
frontend/Components/(DataOfficerDashboard)/DataOfficerDashboard.tsx - Superadmin dashboard
frontend/Components/(SuperAdminDashboard)/SuperAdminDashboard.tsx - Company portal
frontend/app/(company)/company/page.tsx - Request form
frontend/Components/RequestForm.tsx - Record results
frontend/Components/sharedAcrossApp/RequestedResults.tsx
Identity and access
- User endpoints
backend/src/users/users.controller.ts - User management
backend/src/users/users.service.ts - JWT guard
backend/src/common/guards/jwt-auth.guards.ts - Role guard
backend/src/common/guards/roles.guard.ts
Registry operations
- Person endpoints
backend/src/persons/persons.controller.ts - Person search
backend/src/persons/persons.service.ts - Offense endpoints
backend/src/offenses/offenses.controller.ts - Offense records
backend/src/offenses/offenses.service.ts - Company endpoints
backend/src/companies/companies.controller.ts - Company management
backend/src/companies/companies.service.ts
Requests and oversight
- Request endpoints
backend/src/requests/requests.controller.ts - Request lifecycle
backend/src/requests/requests.service.ts - Audit log endpoints
backend/src/audit-logs/audit-logs.controller.ts - Audit log queries
backend/src/audit-logs/audit-logs.service.ts
Persistence and identity providers
- Prisma data access
backend/src/prisma.service.ts - Registry database
- Clerk identity
Other components
- Registry users
Connections 36
- Registry users → Agency dashboard: uses
- Registry users → Data officer dashboard: uses
- Registry users → Superadmin dashboard: uses
- Registry users → Company portal: uses
- Company portal → Request form: opens
- Agency dashboard → Record results: views
- Data officer dashboard → Record results: views
- User endpoints → User management: delegates
- User management → Prisma data access: reads and writes
- User management → Clerk identity: creates accounts
- Person endpoints → Person search: delegates
- Person endpoints → Prisma data access: looks up user
- Person search → Prisma data access: searches records
- Offense endpoints → Offense records: delegates
- Offense endpoints → Prisma data access: looks up user
- Offense records → Prisma data access: reads and writes
- Company endpoints → Company management: delegates
- Company management → Prisma data access: reads and writes
- Request endpoints → Request lifecycle: delegates
- Request endpoints → Prisma data access: looks up requester
- Request lifecycle → Prisma data access: reads and writes
- Audit log endpoints → Audit log queries: delegates
- Audit log queries → Prisma data access: queries logs
- Prisma data access → Registry database: persists data
- Person endpoints → JWT guard: guards requests
- Offense endpoints → JWT guard: guards requests
- Request endpoints → JWT guard: guards requests
- User endpoints → JWT guard: guards requests
- Company endpoints → JWT guard: guards requests
- Audit log endpoints → JWT guard: guards requests
- Person endpoints → Role guard: checks roles
- Offense endpoints → Role guard: checks roles
- Request endpoints → Role guard: checks roles
- User endpoints → Role guard: checks roles
- Company endpoints → Role guard: checks roles
- Audit log endpoints → Role guard: checks roles