Финална имплементација на случаи на употреба
Додатни случаи на употреба опфатени во финалната верзија:
ID | Use Case |
10 | Најава на корисник со Google профил преку OAuth2 |
11 | Објавување на дополнителна информација од страна на студент |
12 | Преглед на дополнителни информации оставени од студенти |
13 | Добивање дополнителни информации за причината зошто предмет е препорачан |
ИД: 10 - Најава на корисник со Google профил преку OAuth2
При клик на копчето се испраќа POST барање до backend.
Додадени се следните endpoints на серверот:
Се користи модифициран поглед со цел одговорот што го испраќа серверот да биде во ист формат како оној што се испраќа при регуларна најава.
Додадена е следната конфигурација, каде што CLIENT_ID
и CLIENT_SECRET
се земени од Google Cloud Platform:
ИД: 11 - Објавување на дополнителна информација од страна на студент
Откога ќе се навигира до одреден предмет, со кликање на копчето сподели информација се отвара форма каде студентот може да пополни 2 типа на информации.
1. Евалуација на предметот
2. Сѐ останато
За двата типа со клик на копче се испраќа POST барање на истиот endpoint. Разликата е во содржината што се праќа и нејзиниот формат, согласно типот на информација која студентот ја споделува.
На backend се валидираат податоците, па се зачувуваат.
ИД: 12 - Преглед на дополнителни информации оставени од студенти
Информациите можат да се прегледани од администратори и од студенти, со тоа што кај администраторот таа страна се нарекува 'Aдминистраторски панел', а кај студентите 'Информации од студенти'. Може да се филтрираат информациите или да се побараат сите. Покрај преглед на информациите, администраторот и студентите имаат различни дополнителни пермисии кога се наоѓаат на оваа страна.
Студентот има можност да гласа (upvote / downvote)
Администраторот има можност да одобрува и да брише информации.
Информациите се добиваат преку GET барање. Дополнително се користи пагинација и query параметри за филтрирање.
Прво се валидираат податоците.
Django Rest Framework овозможува пагинација со користење на LimitOffsetPagination
.
ИД: 13 - Добивање дополнителни информации за причината зошто предмет е препорачан
Главната логика за добивање на препораки останува исто, само дополнително се воведува логика за генерирање на текстуални описи за совпаѓањата.
Се споредуваат добиените резултати со предефинирани граници за да се одреди дали станува збор за добро совпаѓање.
Attachments (20)
- custom_google_login.jpeg (73.4 KB ) - added by 5 days ago.
- exp_msg.jpeg (175.2 KB ) - added by 5 days ago.
- fetch_r.jpeg (170.4 KB ) - added by 5 days ago.
- get_rec.jpeg (236.4 KB ) - added by 5 days ago.
- google_fetch.jpeg (207.5 KB ) - added by 5 days ago.
- google_frontend.jpeg (66.7 KB ) - added by 5 days ago.
- info_admin.jpeg (113.1 KB ) - added by 5 days ago.
- info_student.jpeg (114.1 KB ) - added by 5 days ago.
- oauth_config.jpeg (76.7 KB ) - added by 5 days ago.
- post_review.jpeg (131.3 KB ) - added by 5 days ago.
- rec_msg.jpeg (138.6 KB ) - added by 5 days ago.
- rec_view.jpeg (175.6 KB ) - added by 5 days ago.
- review_get_1.jpeg (194.9 KB ) - added by 5 days ago.
- review_get_2.jpeg (189.8 KB ) - added by 5 days ago.
- review_view.jpeg (202.6 KB ) - added by 5 days ago.
- spodeli_dr.jpeg (86.2 KB ) - added by 5 days ago.
- spodeli_e_1.jpeg (92.0 KB ) - added by 5 days ago.
- spodeli_e_2.jpeg (84.9 KB ) - added by 5 days ago.
- urls.jpeg (55.5 KB ) - added by 5 days ago.
- spodeli.jpeg (108.8 KB ) - added by 5 days ago.