How unb-mds/g2-2026-2 works
AvaliaAi UnB is a Flask web platform for students to find professors and disciplines, inspect discipline-specific teaching evaluations and averages, and submit their own ratings. The implemented flow covers account registration and login, authenticated evaluation submission, and public catalog/profile consultation. The README also describes comparison, rankings, advanced filters, moderation, favorites, and charts as planned post-MVP capabilities; they are included as documented but unsampled branches, without asserted runtime wiring. Relationships reflect sampled routes, repositories, session handling, and SQLite access.
Main entry points: professor_routes.py Professor routes · auth_routes.py Auth routes · database.py SQLite database · session_controller.py Session controller
Components 19
Web interface
- Web templates
app/templates - Interface styles
app/static/indicadores.css
Accounts and sessions
- Auth routes
app/routes/auth_routes.py - Session controller
app/controllers/session_controller.py - Input validation
app/validacoes.py - User repository
app/repositorio.py
Academic catalog
- Professor routes
app/routes/professor_routes.py - Professor repository
app/repositorio.py - Discipline repository
app/repositorio.py - Professor favorites
README.md
Evaluations and insights
- Evaluation repository
app/repositorio.py - Domain models
app/models.py - Professor comparison
README.md - Professor ranking
README.md - Rating moderation
README.md - Performance charts
README.md
Persistence
- SQLite database
app/database.py
Other components
- Student
- Teacher
Connections 20
- Student → Auth routes: registers / logs in
- Student → Professor routes: searches / rates
- Teacher → Professor routes: views profile
- Auth routes → Input validation: validates signup
- Auth routes → User repository: creates / finds user
- Auth routes → Session controller: creates / ends session
- Session controller → SQLite database: reads / writes sessions
- Session controller → User repository: loads current user
- Auth routes → Web templates: renders account pages
- Professor routes → Professor repository: filters / loads professors
- Professor routes → Discipline repository: loads linked disciplines
- Professor routes → Evaluation repository: calculates / saves ratings
- Professor routes → Input validation: validates rating
- Professor routes → Session controller: requires authenticated user
- Professor routes → Web templates: renders catalog and rating pages
- Web templates → Interface styles: loads styles
- User repository → SQLite database: reads / writes users
- Professor repository → SQLite database: reads professor catalog
- Discipline repository → SQLite database: reads disciplines
- Evaluation repository → SQLite database: reads / writes ratings