Opinions system
- Langage dominant
- TypeScript
- Étoiles
- 6
- Forks
- 3
- Merge moyen
- 3 j 17 h
- PR mergées (30 j)
- 15
Description
## Description
Implementation of the [E03](https://github.com/akai-org/put-wiki/blob/main/docs/product/requirements.md#e03-system-opinii) functional requirement from docs. It focuses on opinions created by verified, signed in students on course and lecturer profiles.
## Scope
### What is included:
- Students (under specific conditions, e.g. signed in, verified, without ban flag set) can read, add and delete opinions.
- Opinions can be posted and seen either on course profile (for specific course type) or on lecturer profile (a shortcut).
- Students can vote on opinions (upvotes/downvotes)
- Students can see all opinions they have posted since they created account (in account section, publicly available on student profile)
- Each opinion have one, specific owner (author).
- Opinions contain only post date, nickname and the opinion itself as plain text.
- Opinions can be filtered and sorted (manually).
- Opinions are always shown in the context of course and its type (labs, project, lecture, etc).
- Opinions must be automatically checked for personal attacks, toxicity, spam and others (as simple as possible).
- Posting opinions is limited to 1 for student account per subject type.
- Opinions can be manually moderated (means deleted) by administrator without any information to the author.
- According to UE law (DSA) we should provide to users a way to report illegal content (TODO: discuss it).
- Opinions grouped by course types that lecturers conduct are shown on each lecturer profile.
### Out of scope:
- User can edit opinions.
- Commenting other students opinions. We don't provide any form of communication between students.
- Other additional required processes for student during posting opinion apart from writing a plain text (such as filling additional scales, assigning tags, etc).
- Writing opinions directly for lecturer (opinions must be connected to course type which is conducted by specific lecturers - there are many student groups for 1 subject type, each conducted by one lecturer)
## Related user stories (that an epic consists of)
- #ID
- #ID
## Notes
See [this document](https://docs.google.com/document/d/1BnwjPViFJ4Fk8Kd9IP-uamBjXopJWgkhCl06BP4ucks/edit?tab=t.0) from meetings for more details.
**TODO discuss these topics:**
Basic auditing of opinions - tracking and controlling student actions, e.g. storing timestamps for actions like creating, deleting. Also "shallow" delete, e.g. student deleted opinion and it is not shown anymore to UI, it is not considered in any calculations (is properly marked) but it is still in database (or archived for certain peroid of time).
Guide de contribution
Ouvrir le guide de contribution
Évaluation
Cette issue n'a pas encore été évaluée.