wiki:UseCasePrototypeImplementation

Version 32 (modified by 216151, 15 months ago) ( diff )

--

Прототип имплементација на случаите на употреба


Изворен код


Случаи на употреба кои се имплементирани до оваа фаза

IDИме
1прелистување на секции за дискусија
2корисничка најава
3корисничка регистрација (делумно)
4додавање мислење во секција за дискусија
5оценување туѓо мислење
6коментирање туѓо мислење

Регистрација на обичен корисник (без модераторски привилегии)

Во оваа фаза за регистрацијата на корисник нема интерфејс, но може да се изврши со POST повик до позадински сервис. Пример за валиден повик:

По овој чекор корисникот е внесен во базата, но неговата сметка сè уште не е активирана (има знаменце enabled==false) и не може да се најави. За таа цел, со помош на библиотеката Java Mail се испраќа email до наведената адреса со линк што содржи уникатен токен за потврда со ограничено времетраење. Линкот води до GET повик до позадината (/registration/confirm?token=[TOKEN]) кој ја активира сметката.

Најава на обичен корисник (без модераторски привилегии)

Најавата се врши преку кориснички интерфејс, со POST повик до сервисот за најава.

Апликацијата користи автентикација со помош на колачиња. Доколку корисничкото име и лозинката се валидни, сервисот за најава му враќа на клиентот променлива (JSESSIONID), која вториот ја зачувува како колаче во прелистувачот и ја користи за сите понатамошни повици до други сервиси, сè додека корисникот не се одјави и колачето не се избрише.

Колачето не се користи само за backend сервиси кои бараат автентикација, туку и за контрола на погледот во самиот клиент. Имено, многу UI компоненти се ограничени (се целосно скриени или видоизменети) зависно од глобална променлива „auth“ која се поставува на true доколку колачето е вчитано.

Поглед за моментално најавениот корисник

По најавата, корисникот е редиректиран на својот dashboard, каде има преглед на својата активност, како и на неговите основни податоци (треба да може да менува некои од нив, неимплементирано). Полето „Карма“ е разлика на вкупниот број добиени upvotes и downvotes од сите објавени мислења на корисникот.

Секции за дискусија за професори

За секој професор во базата постои соодветна секција за дискусија во која се содржани мислењата поврзани за него/неа. При отворање на страницата тие се преземаат со позадински повик (неавтентициран), а хиерархијата на коментари се прикажува со рекурзивно изминување на вратените податоци. Доколку има најавен корисник, се прикажуваат и опции за објавување ново мислење, како и давање реплика, правење upvote или downvote на постоечко мислење, реализирани со соодветни повици, пр. "GET /secure/professor/[professorId]/upvoteOpinion/[opinionId]".

Пребарување

Заради олеснета навигација помеѓу секциите за дискусија апликацијата содржи функционалност за пребарување.

Attachments (7)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.