You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add course lookup and community ratings to StudyOS Agent. Students can search the shared StudyPlanner catalog by title or course number, use their locally loaded ALMA registrations as search shortcuts, and submit a 1–5 star rating with an optional moderated comment.
This rates courses—not the StudyOS agent or aggregated services.
Product behavior
Add a dedicated Course ratings screen outside Settings.
Search the public StudyPlanner catalog and show course number, title, term, and ECTS where available.
Show locally derived “My courses” shortcuts; the enrollment list itself stays on-device.
Group ratings longitudinally by normalized course number across semesters.
Show average and count separately, plus published comments only.
Let an installation create/update/delete one rating per course and report published comments.
Clearly label ratings as pseudonymous community feedback, not verified enrollment reviews.
Architecture
Flutter calls the containerized ratings API.
The ratings API proxies public, read-only StudyPlanner catalog search because the current catalog endpoint does not expose browser CORS headers.
Catalog responses are typed, size-limited, rate-limited, and held in a bounded five-minute in-memory cache.
Search returns a server-issued normalized course rating ID and registers that course before ratings are accepted.
SQLite stores registered courses, pseudonymous installation credentials, ratings/comments, reports, and moderation audit records.
ALMA credentials, cookies, profiles, timetables, and enrollment lists are never sent to the hosted ratings service.
Moderation and operations
Star ratings count immediately; optional comments start pending.
Moderators can publish, reject, or remove comments with audited reasons.
User reports feed the moderation queue.
No third-party semantic moderation or per-comment API billing is required initially.
Production still needs HTTPS, reverse-proxy limits, a moderation owner, retention/privacy notices, and tested backups.
Acceptance criteria
Users can look up catalog courses and select one to rate.
Local registered-course titles can start a catalog lookup without uploading the enrollment list.
Ratings are stored per registered normalized course identity, not against the StudyOS agent.
Users can create/update/delete a 1–5 rating with an optional bounded comment.
Public reads include count, average, and published comments only.
Users can report comments; moderators can review and audit actions.
API validation, ownership, isolation, pagination, rate limits, cache bounds, migration behavior, and moderation are tested.
SQLite/Compose backup, privacy, retention, and deployment guidance is documented.
Human reviewers approve the UI and deployment policy before merge/release.
Out of scope
verified enrollment/completion badges
replies, threads, reactions, or rich text
automated third-party moderation
routing university credentials through the ratings service
Summary
Add course lookup and community ratings to StudyOS Agent. Students can search the shared StudyPlanner catalog by title or course number, use their locally loaded ALMA registrations as search shortcuts, and submit a 1–5 star rating with an optional moderated comment.
This rates courses—not the StudyOS agent or aggregated services.
Product behavior
Architecture
Moderation and operations
Acceptance criteria
Out of scope