Changes between Version 1 and Version 2 of UseCase004


Ignore:
Timestamp:
09/15/26 11:38:26 (2 weeks ago)
Author:
233149
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • UseCase004

    v1 v2  
    1 == UseCase004 - Приказ на запишани семестри
     1== UC004 - Приказ на запишани семестри
    22
    3 === Актери
    4  * Најавен студент
     3'''Иницијален актер:''' Студент
    54
    6 === Чекори
    7  1. Студентот навигира до страната „Семестри“
    8  2. Системот го идентификува студентот врз основа на JWT токенот
    9  3. Системот ги презема сите запишани семестри на студентот
    10  4. За секој семестар се прикажуваат типот (зимски/летен), учебната година, студиската програма и квотата
    11  5. На студентот му се прикажува табела со неговите запишани семестри
     5'''Други актери:''' -
     6
     7Студентот сака да ја види историјата на сите семестри кои ги запишал, со
     8студиската програма, квотата и статусот на секој од нив. Целта е преглед од кој
     9може да продолжи кон предметите на конкретен семестар.
     10
     11=== Сценарио
     12
     13 1. Студентот се најавува и избира '''Семестри''' од менито.
     14
     15 2. Системот го чита идентификаторот на студентот од пристапниот токен и ги презема сите негови запишани семестри. Семестрите се подредени од најнов кон најстар; во рамките на иста година зимскиот семестар претходи на летниот.
     16{{{#!sql
     17SELECT es.id,
     18       a.year,
     19       a.type,
     20       m.name AS major,
     21       es.quota,
     22       es.note,
     23       es.student_comment,
     24       es.created_at,
     25       es.last_change,
     26       es.completed
     27FROM project.enrolled_semesters es
     28JOIN project.active_semesters a ON a.id = es.semester_id
     29JOIN project.major m            ON m.id = es.major_id
     30WHERE es.user_id = 1
     31ORDER BY a.year DESC, (a.type = 'summer') DESC;
     32}}}
     33
     34 3. Системот ја прикажува табелата со по еден ред за секој семестар. Колоната ''Завршен'' се пополнува според тоа дали completed има вредност.
     35
     36 4. Студентот избира конкретен семестар за да ги види неговите предмети, со што се преминува на [wiki:UseCase005 UC005].
     37
     38=== Забелешки
     39
     40 * Ограничувањето UNIQUE (user_id, semester_id) во enrolled_semesters гарантира дека студентот не може да се појави двапати во истиот семестар, па во оваа табела нема дупликати.
     41 * Атрибутот completed е timestamp, а не boolean, па покрај тоа дали семестарот е завршен се знае и кога е заверен.