akai-org / akai-org/put-wiki

Student's account

Ouverte
#23 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
type:epic
Langage dominant
TypeScript
Étoiles
6
Forks
3
Merge moyen
3 j 17 h
PR mergées (30 j)
15

Description

## Description
Implementation of the [E02](https://github.com/akai-org/put-wiki/blob/main/docs/product/requirements.md#e02-konto-studenta) functional requirement from docs. Each student that wants to access additional protected content needs to login via USOS OAuth. User profile is public for all signed in users.

Student account - private protected page in the app that has various settings and information for account owner.
Student profile - publicly available page to other students that shows only useful information that is anonymous.

## Scope
### What is included:
- Sign in with USOS and creating student account with profile automatically for first time login.
- PUT student verification process with USOS.
- Providing basic student acount page with account management and preferences (e.g. change nickname, account deletion).
- publicly available student profile.
- Easy to access panel with quick actions for account like logout.
- Clear information about privacy and the user data processing
- Student can have disabled option to post opinions only by administrators (flag for simplest user banning, set manually)
- There are basic user roles - standard user (student) and administrator. They differ in privileges.
- There is basic karma system that scores students. Score is visible to other students on profile (discuss together pros and cons later)

### Out of scope:
- Managing student opinions (it is part of the epic #24)
- Advanced options in the student profile such as notifications
- Advanced banning system (too complex currently)
- For simplicity karma system only calculates the score but it has no influence on anything (badges, achievements) due to high complexity. It is not the most important thing to do. Can be done later.

## Notes
Our priority is to keep each student account anonymous so that other students or even administrators can't associate person with their account (e.g. by album number from USOS). Our solution is to use unique IDs for accounts that are the result of hashing ID/album number from USOS. We don't store any personal information (name, surname, email, phone, etc).

See [this document](https://docs.google.com/document/d/1BnwjPViFJ4Fk8Kd9IP-uamBjXopJWgkhCl06BP4ucks/edit?tab=t.0) from meetings for more details.

Guide de contribution

Ouvrir le guide de contribution

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.