# README
Опис документації
Ця документація описує user-service вимоги та реалізацію в рамках проєкту Projector.
Вимоги
-
Два типи користувачів: адмін роль та покупець роль.
-
Покупці повинні мати можливість:
- виконати sign up (реєстрація)
- sign in (вхід в профіль)
- sign out (вихід з профілю)
- переглянути та відредагувати свій профіль
-
Адміністратори повинні мати можливість:
- виконати sign in (вхід в профіль) / sign out (вихід з профілю)
- переглянути та відредагувати свій профіль
- переглянути список покупців
- заблокувати певного покупця від можливості робити замовлення
Функціонал
-
Фіча "Sign up" - відповідальна Olga Dubova
- Для виконання функціоналу "Sign up" необхідно викликати функцію запису даних наступних полів: email, password.
- Після виконання функції дані записуються в базу PostgresStorage
- При успішній реєстрації для користувача генеруються поля та призначаються наступні значення: "role" = buyer, "status" = active, "name" = nil, "lastname" = nil
- Коли покупець вводить пароль при реєстрації, ми хешуемо його та потім записуємо в базу PostgresStorage Will be plus
- Реалізувати перевірку полів на маску телефону, email та password
-
Фіча "Sign in" - відповідальна Daria Volobuieva
- Функція, що виводить два поля: email та пароль
- Коли функція виконується, необхідна перевірка паролю по номеру телефону, щоб пароль співпадав.
- Після успішного співпадіння email та пароль - користувач отримує токен. Токен повинен мати expiration time
-
Фіча "Profile" - відповідальна Альона Черненко
- Кориcтувач може отримати свої поля та редагувати: email, password, name, lastname
-
Фіча "Sign out" - відповідальна Daria Volobuieva
- Коли користувач натискає на вихід з профілю - видаляється токе
-
Фіча "Admin" - відповідальна Anna Merezhko
- При перевірці "admin" = true/false, коли адмін true ми отримуємо доступ до наступний функцій:
- Функція змінити поля "status"(які присвоюються при реєстрації).
- Функція
get
для отримання списку користувачів з бази. - Функція редагування профіля користувача
- Функція передгляду користувача по ID
- При перевірці "admin" = true/false, коли адмін true ми отримуємо доступ до наступний функцій:
API
Опис API знаходиться тут.
Архітектурні рішення та дизайн системи
Можливо ви знайдете це тут, але це не точно.