How babita-0505/capacity-connect works
Capacity Connect is an IMD-focused learning and capacity-building portal. Users register and sign in, complete meteorological profiles, discover courses and learning resources, then access assessments and competency-oriented features. Trainers create courses and resources; administrators manage approvals and users. The README documents community, question generation, dashboard, and competency capabilities, though their implementations were not sampled. The graph uses documented capability paths and sampled frontend/API wiring; unsampled internal calls are left unspecified.
Main entry points: main.py FastAPI application · api.ts Browser API client · app/page.tsx Portal home · login/page.tsx Sign-in and signup
Components 23
User experience
- Portal home
web/app/page.tsx - Sign-in and signup
web/app/(auth)/login/page.tsx - Profile editor
web/app/profile/page.tsx - Course catalogue
web/app/courses/page.tsx - Course resources
web/app/courses/[id]/page.tsx - Trainer course tools
web/app/trainer/courses/page.tsx - Admin user tools
web/app/admin/users/page.tsx - Browser API client
web/lib/api.ts
Identity and administration
- Authentication
api/app/routers/auth.py - User administration
api/app/routers/admin.py - Profiles and skills
api/app/routers/profile.py
Learning and assessment
- Course management
api/app/routers/courses.py - File uploads
api/app/routers/files.py - Timed assessments
api/app/routers/assessments.py - Learning community
api/app/routers/community.py - Question generation
api/app/routers/generation.py
Competency and insights
- Competency mapping
api/app/routers/competency.py - Learning dashboard
api/app/routers/dashboard.py
API runtime
- FastAPI application
api/app/main.py - Background job worker
api/app/worker/runner.py - PostgreSQL
api/app/db.py - Upload storage
Other components
- Portal user
Connections 26
- Portal user → Portal home: opens portal
- Portal home → Course catalogue: explores courses
- Portal user → Sign-in and signup: registers or signs in
- Portal user → Profile editor: completes profile
- Portal user → Course resources: opens course
- Trainer course tools → Browser API client: requests course actions
- Admin user tools → Browser API client: requests user actions
- Profile editor → Browser API client: requests profile data
- Course catalogue → Browser API client: searches catalogue
- Course resources → Browser API client: loads course
- Sign-in and signup → Browser API client: sends credentials
- Browser API client → FastAPI application: sends API requests
- FastAPI application → Authentication: mounts router
- FastAPI application → User administration: mounts router
- FastAPI application → Profiles and skills: mounts router
- FastAPI application → Course management: mounts router
- FastAPI application → File uploads: mounts router
- FastAPI application → Timed assessments: mounts router
- FastAPI application → Learning community: mounts router
- FastAPI application → Question generation: mounts router
- FastAPI application → Competency mapping: mounts router
- FastAPI application → Learning dashboard: mounts router
- FastAPI application → Background job worker: starts worker
- Authentication → PostgreSQL: reads and writes
- Background job worker → PostgreSQL: processes jobs
- FastAPI application → Upload storage: serves uploads