How rohan-shirke/verixa-backend works
Verixa is a multi-tenant verification API. Users authenticate or register a company, then role-scoped administrators create employees and customers. Employees receive assigned verification work, upload evidence, and submit verification; administrators approve or reject it. The API also exposes company and employee management, dashboards, notifications, activity auditing, profile/logo files, password reset, and optional Cloudflare R2 storage. Sampled code confirms serializer-driven workflows and persistence; some URL wiring and model internals were not sampled.
Components 18
API and Auth
- API Routing
config/urls.py - Auth API
auth/views.py - User Serializers
auth/serializers/user.py - Role Permissions
core/permissions/roles.py
Tenant Operations
- Core API
core/views.py - Company Service
core/services/company_service.py - Company Serializers
core/serializers/company.py
Verification Workflow
- Customer Workflow
core/serializers/customer.py - Notifications
core/utils/notifications.py
Platform State
- User Accounts
auth/models.py - Company Records
core/models.py - Customer Records
core/models.py - Activity Audit
core/utils/activity.py - File Storage
config/settings.py - Application Database
Other components
- API User
- Cloudflare R2
- SMTP Mail
Connections 24
- API User → API Routing: requests
- API Routing → Auth API: routes
- API Routing → Core API: routes
- Auth API → User Serializers: validates
- Auth API → User Accounts: authenticates
- User Serializers → User Accounts: writes users
- User Serializers → Company Service: creates company
- Company Service → Company Records: creates company
- Core API → Role Permissions: checks roles
- Core API → Company Serializers: serializes companies
- Core API → Customer Workflow: serializes customers
- Customer Workflow → Customer Records: writes customers
- Customer Workflow → User Accounts: assigns employees
- Customer Workflow → Notifications: creates alerts
- Auth API → File Storage: stores avatars
- Customer Workflow → File Storage: stores evidence
- File Storage → Cloudflare R2: uploads objects
- Auth API → SMTP Mail: sends reset mail
- User Accounts → Application Database: persists users
- Company Records → Application Database: persists companies
- Customer Records → Application Database: persists customers
- Notifications → Application Database: stores alerts
- Activity Audit → Application Database: stores audit
- Core API → Activity Audit: logs actions