Головним завданням є створення демо додатку, де користувач мав би змогу зареєструвати свій аккаунт за допомогою Sign Up форми та згодом увійти в нього через Sign In форму. Після успішного входу, користувача повинно автоматично перенаправити на сторінку Home, де в мабутньому він мав би змогу скористатися кнопкою Logout для виходу зі свого аккаунту.
Макет: Figma
API документація: Swagger
⚡️ Основа
TypeScript
React
⚡️ State менеджер та middleware
Redux Toolkit
Redux Thunk
⚡️ Роутінг
React Router
⚡️ Робота із запитами
Axios
⚡️ Обробка форм (на вибір)
Formik
React Hook Form
⚡️ Валідація форм
Yup
⚡️ UI бібліотеки (на вибір)
Material UI
Chakra UI
Ant Design
⚡️ Стилізація (на вибір)
styled-component
Стилізація методами вибраної UI бібліотеки
SASS/SCSS/LESS modules
⚡️ Валідація та форматування коду
ESLint
Prettier
Можете використовувати лише ESLint (для валідації та форматування), або в поєднанні з Prettier.
Усі бібліотеки мають бути актуальної версії.
Додаток складається з 2-х сторінок Auth та Home:
- Auth сторінка повинна містити в собі Sign Up та Sign In форми, які динамічно перемикаються відоповідно до функціоналу.
- Home сторінка повинна містити в собі повідомлення про успішний вхід в додаток та кнопку Logout.
Обовʼязково зверніть увагу, що тут використовується JWT авторизація. Тому не забудьте про використання access/refresh токенів.
Елементи Sign Up блоку з формою:
- Логотип компанії
- Заголовок з назвою форми
- Поле Full Name
- Поле User Name
- Поле Password
- Поле Confirm Password
- Кнопка відправки данних форми
- Текстове поле з кнопкою для переходу на форму Sign In
Запит для реєстрації аккаунту: /auth/register
Елементи Sign In блоку з формою:
- Логотип компанії
- Заголовок з назвою форми
- Поле User Name
- Поле Password
- Кнопка відправки данних форми
- Текстове поле з кнопкою для переходу на форму Sign Up
Запит для входу в аккаунт: /auth/login
Елементи Home сторінки:
- Логотип компанії
- Текстовий блок
- Кнопка Logout
Запит для виходу з аккаунту: /auth/logout
- Зробіть fork данного репозиторія
- Виконайте завдання з використанням технологій та дотриманням усіх пунктів описаних вище
- Створіть pull request виконаного завдання в данний репозиторій
- Повідомте про виконання завдання