How mahakkatahara/sih-26238 works
TribalSetu is a scholarship application API: users and students can check scheme eligibility, create and manage applications, submit documents for verification, resolve mismatches through manual review, and access payment-related endpoints. The backend exposes these capabilities through FastAPI routers and separates domain services from repositories and SQLAlchemy models. Verification has sampled adapter dispatch and mismatch handling; several other service connections are inferred only from module names, so their wiring is not asserted. The tree contains Flutter platform runners but no Dart application sources, so frontend workflow is not shown.
Main entry points: main.py FastAPI app · verification_service.py Verification service · database.py SQL database · manual_review_repository.py Review repository
Components 31
API entry
- FastAPI app
backend/app/main.py - Application routes
backend/app/api/application.py - Eligibility routes
backend/app/api/eligibility.py - Document routes
backend/app/api/document.py - Verification routes
backend/app/api/verification.py - Review routes
backend/app/api/manual_review.py - DigiLocker routes
backend/app/api/digilocker.py - Payment routes
backend/app/api/payment.py
Scholarship workflow
- Application service
backend/app/services/application_service.py - Eligibility rules
backend/app/services/eligibility_service.py - Scholarship service
backend/app/services/scholarship_service.py - Student service
backend/app/services/student_service.py - Document service
backend/app/services/document_service.py - Application documents
backend/app/services/application_document_service.py - Payment service
backend/app/services/payment_service.py - DigiLocker service
backend/app/services/digilocker_service.py
Verification and review
- Verification service
backend/app/services/verification_service.py - Manual review service
backend/app/services/manual_review_service.py - Verification adapters
backend/app/integrations/verification/mock_adapter.py - Signed PDF adapter
backend/app/integrations/verification/signed_pdf_adapter.py
Persistence
- SQL database
backend/app/core/database.py - Application repository
backend/app/repositories/application_repository.py - Verification repository
backend/app/repositories/verification_repository.py - Review repository
backend/app/repositories/manual_review_repository.py - Student repository
backend/app/repositories/student_repository.py - Scholarship repository
backend/app/repositories/scholarship_repository.py - Document repository
backend/app/repositories/document_repository.py - Application document repository
backend/app/repositories/application_document_repository.py - Manual review records
backend/app/models/manual_review.py
Other components
- API client
- DigiLocker service
Connections 31
- API client → FastAPI app: sends requests
- FastAPI app → Application routes: dispatches
- FastAPI app → Eligibility routes: dispatches
- FastAPI app → Document routes: dispatches
- FastAPI app → Verification routes: dispatches
- FastAPI app → Review routes: dispatches
- FastAPI app → DigiLocker routes: dispatches
- FastAPI app → Payment routes: dispatches
- Application routes → Application service: calls
- Application routes → Application documents: calls
- Review routes → Manual review service: calls
- Verification service → Verification adapters: dispatches
- Verification service → Signed PDF adapter: dispatches
- Manual review service → Verification repository: reads and updates
- Manual review service → Review repository: reads and creates
- Eligibility rules → Student repository: reads
- Eligibility rules → Scholarship repository: reads
- Verification service → Application repository: reads
- Verification service → Document repository: reads
- Verification service → Application document repository: reads
- Verification service → Verification repository: reads and updates
- Verification service → Review repository: checks and creates
- Review repository → Manual review records: persists
- Application repository → SQL database: queries and writes
- Verification repository → SQL database: queries and writes
- Review repository → SQL database: queries and writes
- Student repository → SQL database: queries
- Scholarship repository → SQL database: queries
- Document repository → SQL database: queries
- Application document repository → SQL database: queries
- DigiLocker service → DigiLocker service: integrates