How pratapajaysingh/sih-26238 works
TribalSetu is a scholarship and student-management API, with a Flutter frontend represented in the tree by platform runner scaffolding. The visible workflow includes user registration/login, student creation, and scholarship application creation and listing. Application creation checks that the referenced student and scholarship exist before storing a DRAFT application. The graph reflects sampled backend calls; scholarship and user API wiring, database dependency setup, and Flutter-to-API behavior could not be confirmed from the available excerpts.
Main entry points: main.py FastAPI application · application_repository.py Application repository · user_repository.py User repository · student_repository.py Student repository
Components 26
API layer
- FastAPI application
backend/app/main.py - User endpoints
backend/app/api/user.py - Student endpoints
backend/app/api/student.py - Scholarship endpoints
backend/app/api/scholarship.py - Application endpoints
backend/app/api/application.py
Domain services
- User service
backend/app/services/user_service.py - Student service
backend/app/services/student_service.py - Scholarship service
backend/app/services/scholarship_service.py - Application service
backend/app/services/application_service.py - Password security
backend/app/core/security.py
Data layer
- User schemas
backend/app/schemas/user.py - Student schemas
backend/app/schemas/student.py - Scholarship schemas
backend/app/schemas/scholarship.py - Application schemas
backend/app/schemas/application.py - User model
backend/app/models/user.py - Student model
backend/app/models/student.py - Scholarship model
backend/app/models/scholarship.py - Application model
backend/app/models/application.py - User repository
backend/app/repositories/user_repository.py - Student repository
backend/app/repositories/student_repository.py - Scholarship repository
backend/app/repositories/scholarship_repository.py - Application repository
backend/app/repositories/application_repository.py - Database setup
backend/app/core/database.py
Client
- Flutter frontend
frontend
Other components
- User
- PostgreSQL
Connections 24
- User → FastAPI application: uses API
- FastAPI application → User endpoints: registers routes
- FastAPI application → Student endpoints: registers routes
- FastAPI application → Scholarship endpoints: registers routes
- FastAPI application → Application endpoints: registers routes
- Application endpoints → Application service: calls
- Application endpoints → Application schemas: validates and returns
- Application service → Application repository: checks and stores
- Application repository → Student repository: imports lookup
- Application repository → Scholarship repository: imports lookup
- Application repository → Application model: queries and writes
- Student service → Student repository: queries and creates
- Student service → User repository: checks user
- User service → User repository: queries and creates
- User service → Password security: hashes and verifies
- User repository → User model: queries and writes
- Student repository → Student model: queries and writes
- Scholarship repository → Scholarship model: queries and writes
- Application repository → PostgreSQL: reads and writes
- Student repository → PostgreSQL: reads and writes
- User repository → PostgreSQL: reads and writes
- Scholarship repository → PostgreSQL: reads and writes
- FastAPI application → Database setup: connects for test
- Database setup → PostgreSQL: creates engine