How unb-mds/2026-2-followw works
Followw UnB is an independent web client for SIGAA UnB and related campus services. The main workflow is a student using the web app to request academic or RU information from the API; authenticated requests use SIGAA-backed services, while public menu and calendar functionality has separate integration modules. Login authenticates with SIGAA, sets session cookies, and enqueues an account-sync job. The graph reflects documented routes and sampled wiring; service internals and several frontend connections were not sampled, so uncertain call edges are omitted.
Main entry points: api/main.py API router · auth/main.py SIGAA auth · router.tsx Web experience · client.ts API queries
Components 24
Web app
- Web experience
apps/web/src/router.tsx - API queries
apps/web/src/queries/client.ts - Classroom views
apps/web/src/routes/turmas.tsx - Profile view
apps/web/src/routes/perfil.tsx - RU view
apps/web/src/routes/ru.tsx
API product
- API router
apps/api/api/main.py - SIGAA auth
apps/api/api/modules/auth/main.py - Classrooms
apps/api/api/modules/classrooms/main.py - Student profile
apps/api/api/modules/me/main.py - Class news
apps/api/api/modules/news/main.py - RU menu and account
apps/api/api/modules/restaurant/main.py - Classroom service
apps/api/api/services/classroom.py - Profile service
apps/api/api/services/profile.py - News service
apps/api/api/services/news.py - Restaurant service
apps/api/api/services/restaurant.py
Persistence and sync
- Application database
apps/api/api/db/main.py - Account sync
apps/api/api/services/sync.py - Job receiver
apps/api/api/modules/jobs/main.py
Campus integrations
- SIGAA client
packages/sigaa-client/sigaa_client/client.py - UnB browser
packages/unb-browser/unb_browser/browser.py
Other components
- Student
- QStash
- SIGAA / CAS
- RU and campus calendar
Connections 18
- Student → Web experience: uses
- Web experience → API queries: requests data
- API queries → API router: calls API
- API router → SIGAA auth: dispatches
- API router → Classrooms: dispatches
- API router → Student profile: dispatches
- API router → Class news: dispatches
- API router → RU menu and account: dispatches
- Classrooms → Classroom service: calls
- Student profile → Profile service: calls
- Class news → News service: calls
- RU menu and account → Restaurant service: calls
- SIGAA auth → SIGAA client: authenticates
- SIGAA auth → QStash: enqueues sync
- QStash → Job receiver: delivers job
- Job receiver → Account sync: runs
- SIGAA client → SIGAA / CAS: requests data
- UnB browser → RU and campus calendar: reads public data