How abdurrahim2705/cui-assistant works
This is a COMSATS student portal with admin approval and policy-document management, plus an AI academic copilot. Students register or sign in, view profile/course/attendance data, manage tasks, and ask university questions; admins approve students and maintain indexed policy content. The React app calls a FastAPI API, which handles domain operations against PostgreSQL and delegates chat to an assistant using student context, task tools, and policy retrieval. The excerpts establish the main chat and ingestion integrations; some route internals are unsampled, so uncertain wiring is omitted.
Main entry points: main.py Portal API · db.py Database access · assistant.py Academic assistant · rag_loader.py Document indexing
Components 16
Web experience
- Portal interface
frontend/src/App.jsx - API client
frontend/src/api.js
Portal services
- Portal API
backend/src/main.py - Account access
backend/src/main.py - Student records
backend/src/main.py - Task management
backend/src/main.py - Admin operations
backend/src/main.py
AI knowledge
- Academic assistant
backend/src/assistant.py - Document indexing
backend/src/rag_loader.py - Policy seed ingestion
backend/src/ingest_docs.py - Gemini AI
Data stores
- Pinecone index
- Database access
backend/src/db.py - PostgreSQL
Other components
- Student
- Administrator
Connections 23
- Student → Portal interface: uses
- Administrator → Portal interface: uses
- Portal interface → API client: requests
- API client → Portal API: HTTP calls
- Portal API → Account access: dispatches
- Portal API → Student records: dispatches
- Portal API → Task management: dispatches
- Portal API → Admin operations: dispatches
- Portal API → Academic assistant: asks
- Portal API → Document indexing: indexes
- Account access → Database access: queries
- Student records → Database access: queries
- Task management → Database access: reads/writes
- Admin operations → Database access: reads/writes
- Academic assistant → Database access: loads context
- Academic assistant → Gemini AI: prompts
- Academic assistant → Pinecone index: retrieves policies
- Academic assistant → Task management: task tools
- Document indexing → Gemini AI: embeds
- Document indexing → Pinecone index: indexes chunks
- Policy seed ingestion → Gemini AI: embeds
- Policy seed ingestion → Pinecone index: indexes documents
- Database access → PostgreSQL: queries