У ході цього проєкту було розроблено реактивний односторінковий застосунок, який дає змогу порційно збирати інформацію з користувача за допомогою різних розділів і агрегувати цю інформацію в красиве резюме, яке можна завантажити у форматі ПДФ.
Оглавление

Відео-огляд 3-го тижня розробки
Ролі:
Гість - неавторизований користувач системи
Юзер - авторизований користувач
Варіанти використання на першому етапі розробки:
(На цьому етапі: темплейт не змінюється, завантаження пдф - не працює, оплати немає, маска на поля не робиться)
- Створити нове резюме
Опис:
1.1 Гість вводить інформацію про користувача (Contact session)
- First Name - поле введення
- Last Name - поле введення
- Photo
- E-mail - поле введення
- Phone - поле введення
- Country - вибір
- City - введення/вибір
1.2 Гість може додати додаткову інформацію
- Address
- Zip code
- Driver licence
- Nationality
- Place of birth
- Date of birth
1.3 Система після переходу до наступного пункту (не динамічно після заповнення кожного поля або видалення) відображає оновлену інформацію в правому блоці.
- Реєстрація
Опис:Гість реєструється за допомогою імейлу і потрапляє назад у процес створення резюме
- Вхід
Опис:Гість авторизується за допомогою імейлу і потрапляє назад у процес створення резюме
Альтернативний сценарій: Гість відновлює пароль через імейл, після чого авторизується
- Заповнення шаблону резюме
Опис: Користувач заповнює інформацію за розділами:
Можна заповнювати пункти непослідовно
Пункти на цьому етапі - не обов'язкові до заповнення
4.1 Employment - користувач додає місце роботи (або кілька місць роботи)
- Job title
- Company|Organization Name
- From - To
- City
- Description
- Система виводить список обов'язків
- Користувач додає обов'язки в опис, вибравши із запропонованих шаблонних
- Користувач прибирає обов'язки з опису, знявши вибір із запропонованих шаблонних
4.2 Education - користувач додає місце освіти
- Facility
- Degree
- From
- To
- Field of study
- Awards
- Description
- Користувач додає ще одне місце освіти
- Система Приховує попереднє місце в плашку
- Користувач може видалити місце освіти
4.3 Skills
- Система пропонує шаблонні скіли
- користувач вибирає скіли з шаблонних і вказує рівень кожного скіла
- користувач додає свої скіли і рівень кожного скіла
- користувач видаляє скілл
4.4 Social links
- користувач може додати посилання Link на соціальну мережу і назву Label
- система підтягує іконку?
- система додає ще одне поле для введення посилання
4.5 Hobbies
- користувач може вписати хобі
- система показує список шаблонних хобі
- користувач може вибрати хобі із запропонованих
4.6 Extra-curricular activities
- Користувач може додати додаткову активність
- Function Title
- Employer
- From
- To
- City
- Description
- Користувач додає ще одну додаткову активність
- Система Приховує попередню в плашку
- Користувач може видалити додаткову активність
4.7 Courses
- Користувач додає курс
- Course title - поле введення
- Institution - поле введення
- From - календар
- To - календар
- Користувач додає ще один курс
- Система Приховує попередній у плашку
- Користувач може видалити курс
4.8 Internship
- Користувач додає, де проходив практику
- Internship title - поле введення
- Institution - поле введення
- From - календар
- To - календар
- Description - поле введення
- Користувач додає ще одну практику
- Система Приховує попередню в плашку
- Користувач може видалити практику
4.9 Languages - Користувач може вибрати зі списку, яку мову знає і його рівень
4.10 References - Користувач може вказати 1 рекомендацію, заповнивши поля:
- Referent full name
- Company
- Phone
4.11 Certifications - Користувач може додати сертифікати, вписавши назву
Система після переходу до наступного пункту (не динамічно після заповнення кожного поля або видалення) відображає оновлену інформацію в правому блоці.
- Збереження резюме - користувач зберігає інформацію на сервері
Діаграма сценаріїв переходу
Вимоги до якості технічної реалізації першої версії проєкту-конструктора резюме.
Тип зовнішнього інтерфейсу:
Реактивний і односторінковий, без перезавантаження сторінки після виконання певних дій.
Фреймворк для реалізації:
Vue або React.
Валідація полів введення:
У першій версії валідація полів не передбачена.
Маски введення для полів не передбачені.
Метрики продуктивності:
У першій версії не будуть використані спеціальні інструменти для вимірювання продуктивності.
Кросбраузерність, кросплатформеність:
Операційні системи:
- Windows
- MacOS
- Linux
Необхідна підтримка сучасних браузерів.
- Сафарі.
- Хром.
- ФаєрФОкс.
- Опера.
- Ейдж
(уточнити версії)
Розміри екранів:
Поки що конкретні розміри екранів не вказані, розробник орієнтується на типовий екран ноутбука.
Якість коду.
Необхідне помірне дотримання стандартів написання коду.
Лінтери використовуватися не будуть.
Документування коду.
Необхідне документування коду.
Необхідне документування технічних рішень.
Стандарти та методології верстки:
Поки це не уточнюється. Поведінка елементів при стандартних взаємодіях у дизайні не опрацьовується в першій версії. Відповідно, у верстці враховуватися не буде.
Інфраструктура для взаємодії:
- 1 автодеплой
- 2 docker
- 3. gitlab-ci
- 4 спеціальних систем CD/CI не буде
- 5 короткий мануал
Додаткові правки:
Будь-які додаткові зміни приймаються в роботу і оцінюються окремо
Компонентний розбір:
Унікальні елементи:
Загальні:
- -Верхнє меню
- -Ліве меню
- -Компонент динамічної візуалізації резюме
- -Панель реєстрації
- -Панель логіна (авторизації)
- -Компонент локального кеш-сховища
- -Компонент активної форми
Візуальні компоненти:
- -Поле введення, інпут випадаючий список
- -Фото аплоадер
- -Приховування додаткових полів
- -Дія переходу (далі, назад, скіп)
- -Тестове поле (текстареа)
- --Шаблони текстового поля
- -Календар
- -Динамічно-додавані формою елементи
- --додавання
- --видалення
- -Динамічно-додавані поля введення під час заповнення
- -Мульти-селект скілів
- --додавання
- --видалення
- --рейтинг
- --Пошук по мульти-селекту скілів
- --Додавання кастомних скілів
- -Бінарний тумблер
Інтеграція:
27 ендпоінтів
Оцінка:
27 Ендпоінтів АПІ на інтеграцію
7 Головних компонентів
18 Унікальних візуальних логічних компонентів
6 Оцінка складності вимог до якості
8 Ступінь ризиків щодо змінюваності системи
Підсумкова кількість юнітів: 66

АПІ
http://resume.waytrel.pro/swagger/doc
Бонусні роботи
Редагування емплойментів (за кліком на уже збережений емплоймент завантажити його дані у форму для редагування і подальшого збереження).
Видалення емплойментів за кліком на кнопку "видалити".
Отримання збереженого списку емплойментів.
Редагування Educations
Кнопка "Не показувати рівень досвіду".
Редагування соц-посилань, видалення соц-посилань.
Редагування додаткових активностей.
Редагування курсів.
Редагування мов
Видалення мов
Зміна сертифікацій
Видалення сертифікацій
Валідація (заготовка на майбутнє + верстка)
Програмування типів полів (дата-пікери, випадаючі списки).
Basic
- First name
- Last name
- Picture
- Phone
- Country (DB) Have
- City (DB) Have
- Adress (DB) Have
- Zip code (DB) Have
- Driver license (DB) Have
- Nationality (DB) Soon will be
- Place of birth (Country/City) (DB) Have
- Date of birth Callendar
Employment history
- Company DB (have)
- Title DB (have)
- Period (month/year from -to)
- Country DB (have)
- Assignment DB (have)
Education
- Facility DB (have)
- Date (from- to)
- Degree DB (have)
- Field of study DB Will have
- Avards DB Will have
- DEscription of education
Links (Name and url)
Skills (with or without level) DB Have
Hobbies DB Will have
Extra-curricular activities
- Title
- Employer DB
- Date (from to)
- CIty DB
- Description
Course
- Course title
- Institution
- Date (from to)
Internship
- Job title DB
- Employer DB
- Date
- City/country DB
- Description
Languages
- Language DB Have
- Level (A1-C2)
Reference
- Referent Full name
- Company DB
- Phone
Certificates
- Name of the cert. DB Have