wiki:UseCase003

Version 2 (modified by 233149, 2 weeks ago) ( diff )

--

UC003 - Приказ на личен профил

Иницијален актер: Студент

Други актери: -

Студентот сака да ги прегледа своите лични податоци, контакт податоците, податоците за средното образование и матичните податоци за студирањето, сите на едно место.

Сценарио

  1. Студентот избира Профил од менито.
  1. Системот го чита идентификаторот од пристапниот токен и ги презема податоците на корисникот заедно со контакт податоците и средното образование. Врските се 1:1, но се користи LEFT JOIN бидејќи професорите и администраторите немаат такви записи.
    SELECT u.id, u.name, u.surname, u.embg, u."index", u.bday, u.email,
           u.quota, u.enrollment_year, u.created_at,
           c.city, c.municipality, c.address, c.number, c.microsoft_email,
           h.gpa, h.type AS high_school_type
    FROM project.users u
    LEFT JOIN project.contact c     ON c.user_id = u.id
    LEFT JOIN project.high_school h ON h.user_id = u.id
    WHERE u.id = 1;
    
  1. Системот ја презема тековната студиска програма. Програмата не е атрибут на корисникот, туку се добива од последниот запишан семестар.
    SELECT m.name AS major, a.year, a.type
    FROM project.enrolled_semesters es
    JOIN project.major m            ON m.id = es.major_id
    JOIN project.active_semesters a ON a.id = es.semester_id
    WHERE es.user_id = 1
    ORDER BY a.year DESC, (a.type = 'summer') DESC
    LIMIT 1;
    
  1. Системот ги прикажува податоците групирани во делови: лични податоци, податоци за раѓање, претходно образование, податоци за запишување и контакт.

Забелешки

  • Лозинката никогаш не се презема ниту прикажува.
  • Ако студентот нема ниту еден запишан семестар, барањето во чекор 3 не враќа ред и полето за студиска програма останува празно.
Note: See TracWiki for help on using the wiki.