= !UseCase: Регистрација на корисник = == Актер == Ненајавен корисник == Цел == Корисникот сака да се регистрира во системот. == Главен тек == * На корисникот му се прикажува почетната страна на Shifter [[Image(home_page.png, 800px)]] * На корисникот му се прикажува страната за регистрација [[Image(register_page.png, 800px)]] * Корисникот ги пополнува полињата за регистрација и кликнува на копчето Create Account [[Image(register_page_filled.png, 800px)]] * На корисникот му се прикажува порака за успешно испратен линк за потврда на неговата мејл адресата. Во базата се креира иницијален корисник и верификациски токен. {{{ WITH new_user AS ( INSERT INTO _user ( email, password_hash, login_provider, verified, profile_complete, deleted, used_free_consultation, points) VALUES ( 'borjan.gjorgjievski@students.finki.ukim.mk', 'hashed_password_example', 'local', FALSE, FALSE, FALSE, FALSE, 0) RETURNING id) INSERT INTO verification_token (user_id, token, created_at, expires_at) SELECT id, 'd9cafe62-760f-44ae-8f79-8f4048414642', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP + INTERVAL '30 minutes' FROM new_user; }}} [[Image(register_page_success.png, 800px)]] * При клик на линкот кој е испратен до неговата мејл адреса, на корисникот му се прикажува страната за персонализација [[Image(personalize_page.png, 800px)]] * Корисникот ги пополнува полињата за персонализација и кликнува на копчето Start Using Shifter. Во базата се ажурираат полињата за персонализација. {{{ UPDATE _user SET name = 'Borjan Gjorgjievski', work_position = 'Sales & Digital Solutions', company_size = 'Freelance' WHERE id = 1; }}} [[Image(personalize_page_filled.png, 800px)]] * На корисникот му се прикажува почетната страна на Shifter, каде тој е веќе логиран [[Image(home_page_logged_in.png, 800px)]] == Алтернативен тек == * Доколку веќе постои корисник со истата емаил адреса, при обид за регистрација му се прикажува порака за грешка на корисникот * Доколку на корисникот му истекол токенот за валидација на неговата емаил адреса, тогаш откако ќе го кликне линкот за валидација ќе му се прикаже порака дека токенот е истечен и копче за повторно испраќање на нов токен за валидација.