ABCDEFGHIJKLMNOPQRSTUVWXYZ
1
So Yummy - ТЗ для QAБаги ТЗ та МакетуПропозиції та рекомендаціїКоментарі
2
3
Стартова сторінкаСтартова сторінкаСтартова сторінка
4
1. При першому вході користувач потрапляє на стартову сторінку, яка мiстить кнопки:
- Registration
- Sign in
ОкФункції реєстрації і авторизації не розділені в ТЗ
5
Логінизація за допомогою формиЛогінизація за допомогою формиЛогінизація за допомогою формиВ ТЗ немає опису випадаючих списків. В ТЗ немає опису модальних вікон.
6
1. Kлік на кнопку Registration відкриває форму реєстрації для нового користувача. Сторiнка мiстить поля для вводу:
- Name,
- Email,
- Password
ОкНе вказано, що внизу сторінки є кнопка "Sign in"Відсутня опція "Забули пароль?". Немає опції входу за допомогою Google аккаунта або іншого аккаунта.
7
2. Kлік на кнопку Sign in відкриває форму логінізації та містить поля:
- Email,
- Password
Ок Не вказано, що внизу сторінки є кнопка "Registration"
8
3. Поле форми авторизації користувача - Email має валідуватися:
- обов'язкове значення,

- повинно обов'язково містити знак "@" і "крапку" (у частині з назвою хоста)
ОкНе вказано, валідні розкладки для введення тексту (латиниця чи кирилиця)
9
4. Поле форми авторизації користувача - Рassword має валідуватися:
- обов'язкове значення
- повинно включати цифри та літери - мінімальна кількість символів у полі - 6(включно), максимальна - 16(включно)
окНе вказано, валідні розкладки для введення тексту (латиниця чи кирилиця), регістри та допустимість спецсимволівНе зазначено, чи допускаються пробіли або спеціальні символи
10
5. Поле форми авторизації користувача- Name має валідуватися:
- обов'язкове значення
- може включати цифри та літери (латиниця, кирилиця)
- мінімальна кількість символів у полі - 1(включно), максимальна - 16(включно)
1. Авторизація користувача не містить поля "Name".
2. В макеті є літера верхнього регістру, про її обов'язковість або недопустимість не вказано в ТЗ
Потрібно в ТЗ замінити "Авторизація" на "Реєстрація"
Не вказано, чи потрібно враховувати регістр символів, а також чи дозволені спеціальні символи
11
6. Якщо користувач ввів не валідне значення в полях Email, Password або Name, має з'явитися повідомлення із зазначеною в ньому помилкою валідації.
12
7. По кліку на Sign up / Sign in відбувається валідація введених даних. При правильно введених даних, користувач повинен бути переадресований на головну сторiнкуок
13
* правила валідації полів можуть мінімально відрізнятись від описаних, в залежності від бібліотеки, використаної під час розробки застосунку. При тестуванні полів, важливо перевірити лише основні логічні тестові сценарії. Основна функціональність застосунку має пріорітет над правилами валідації полів.Сумнівне доповнення, якщо застосунком неможливо користуватись без обовʼязкової реєстрації чи авторизації
14
15
ХедерХедерХедер
16
1. В хедері знаходяться такi елементи:
- Логотип
-
Categories (елемент навігації на сторінку рецептiв по категорiях)
-
Add receipes (елемент навігації на сторінку додавання рецепту)
-
My recipes (елемент навігації на сторінку доданих рецептів користувачем, для швидкого перегляду)
-
Favorites (елемент навігації на сторінку обраних рецептів користувачем, для швидкого перегляду)
-
Shopping list - сторінка, де можна по обраним рецептам створити список покупок
-
іконка лупи (елемент навігації на сторінку пошуку по інгрідієнтах)
- фото користувача, або іконкa, якщо таке фото відсутнє та ім'я користувача (по клiку на яку, вiдкривається модалка з кнопками
Edit Profile / Log out)
- Перемикач теми
Не вказано яким способом закривається модалка з кнопками Edit Profile / Log outВарто зазначити, що вказаний перелік елементів актуальний лише для десктопної версії додатку і описати елементи хедера для планшетів та мобільних телефонів
17
1.1 На мобільній версії блок навігації та перемикач теми відкривається за допомогою бургер меню, що виїзжджає з верху та має розмір по висоті на всю висоту пристрою користувачаВарто вказати в ТЗ, про те, що у мобільній версії поряд з іконкою лупи відображається клікабельний текст "Search"
18
2. По клiку на логотип, користувач переадресовується на головну сторінкуОк
19
3. Перемикач теми змінює тему зі світлої на темну і навпаки
Обрана тема зберігається в сховищі і застосовується при вході користувача на сторінку додатку
* додаткове завдання
Ок
20
4. По клiку на Edit Profile, з'являється модалка редагування даних користувача User profile, яка мiстить:
- фото користувача, або іконкa з кнопкою редагування (додавання) зображення
- поле Name + iконка редагування
- кнопка Save changes - по клiку на яку, модалка закривається, змiни зберiгаються
- по клiку на бекдроп, модалка закривається, змiни не зберiгаються
- по клiку на Escape, модалка закривається, змiни не зберiгаються
Ок
21
5. По клiку на кнопку Log out має з'явитися модалка з можливістю підтвердити чи відмовитися.
- по кліку на кнопку
Cancel модалка закривається, користувач залишається в додатку
- по кліку на Escape модалка закривається, користувач залишається в додатку
- по кліку на Х модалка закривається, користувач залишається в додатку
- по кліку на бекдроп, модалка закривається, користувач залишається в додатку
- за кліком на кнопку Log out користувач виходить із програми
Ок
22
Головна сторінкаГоловна сторінкаГоловна сторінка
23
1. Коли користувач заходить в додаток йому відкривається домашня сторінка, на якій він бачить сторінку типу лендінг-пейдж, з якої можна вже переходити на інші сторінки: Користувач може переходити на інші сторінки лише після реєстрації або авторизаціїВарто додадти можливість бачити застосунок без реєстрації чи авторизації. Як варіант, без можливості створювати списки чи додавати рецепти.
24
1.1. Головна сторiнка мiстить
- вікно з повiдомленням-запрошенням на сторінку з категоріями по кліку на See recipes, активна категорія - сніданки
- поле для вводу ключового слова для пошуку страви по назві. При введенні значень і при нажатії кнопки Search - відбуваєтья перенаправлення на сторінку пошуку по Ключовому слову. Якщо в поле для пошуку значення відсутнє, редірект не відбувається і користувач отримує відповідне пуш повідомлення
- список страв по категоріям, кожна з яких містить прев'ю рандомних 1/2/4 рецептів за категорією:
• Breakfast
• Miscellaneous
• Chicken
• Desserts
- кнопка See all під кожною категорією
- кнопка Other categories
Уточнити в ТЗ щодо кількості рецептів (1/2/4) - мобільний, планшет, десктоп.
На макеті головної сторінки мобільної версії категорії відображені не відповідно до ТЗ
25
2. По клiку на кнопку See all відкривається розділ Categories з зазначеним підрозділом обраної категоріїОк
26
3. По клiку на кнопку Other categories відкривається розділ CategoriesОк
27
4. Прев'ю рецепту містить фото, якщо немає - заглушка, та назву рецептуОк
28
4.1. По клiку на прев'ю обраного рецепту, відкривається сторінка рецепту стравиОк
29
Сторінка CategoriesСторінка CategoriesСторінка CategoriesВідсутній блок опису "Загальних рецетів". Незрозуміло хто їх додає?
30
1. Сторінка Categories містить список назв категорій, при виборі однієї з них, назва підсвічується і на сторінці з'являються прев'ю рецептів з обраної категорії
• Beef
• Breakfast
• Chicken
• Dessert
• Goat
• Lamb
• Miscellaneous
• Pasta
• Pork
• Seafood
• Side
• Starter
• Vegan
• Vegetarian
На макеті відображаються не всі категорії і не зображено, як можна переміститися до наступних1. Варто поміняти категорію "Desert" на "Deserts", як на макеті
2. На макеті не видно повний перелік назв категорій
31
2. Якщо юзер перейшов не через перенаправлення, а з навігації в головному меню, то по замовчуванню встановлюється категорія - BeefВ макеті встановлено категорію Breakfast
32
3. Прев'ю рецепту містить фото, якщо немає - заглушка, та назвуОк
33
3.1. По клiку на прев'ю обраного рецепту, відкривається сторінка рецепту стравиОк
34
Сторінка Add recipeСторінка Add recipeСторінка Add recipeВ ТЗ немає розділу про інгрідієнти
35
1. Сторінка Add recipe містить
- блок для додавання/редагування фото рецепта
- блок для опису рецепту
- блок для додавання інгредієнтів
- блок для введення текста самого рецепта
- блок Follow us
- блок Popular recipe
1. Не вказано допустимі формати та розміри фото, які можна додати.
2. Не позначені поля обову'язкові для заповнення
3. Не вказано максимальну кількість введених символів, розкладку і допустимість спецсимволів для полів для введення
4. В формі Add recipe поле для введення тексту самого рецепта одне, а при перегляді рецепта етапи приготування відображаються нумерованим списком
5. Відсутність опису додавання рецепту (валідація, кнопка Додати)
1. Потрібно уточнити пристрої, для яких актуальний перелік елементів сторінки.
2. Відсутня можливість додавати рецепт без фото, змінювати/видаляти фото
Не зрозуміло куди додається рецепт, на початок чи кінець списку.
Яка сторінка повинна відкриватись після додавання рецепту.

В макеті на першій сторінці НЕ має бути випадаючих списків (вони всі на другій сторінці)

Відсутня інформація про додавання фото до рецепту.


Відсутнє автозбереження заповнюваного рецепта до його додавання.
36
2. Блок для опису рецепту містить поля для заповнення:
- назва рецепту
- опис рецепту
- категорія рецепту - вибирається з випадаючого списку
- часу приготування рецепту - вибирається з випадаючого списку в діапазоні від 5хв до 120хв з кроком 5
Випадаючі списки повинні показувати 6рядків данних, всі інші повинні скролитись в межах даного списку.
На макеті максимальний час - 1401. Збільшити діапазон часу приготування
2. Додати можливість вводити час власноруч
3. Додати варіант заповнення часу приготування (поле "години" "хвилини")
В розділі "Опис рецепта" не на всіх девайсах є випадаючий список. Невідмічені поля для обов'язкового заповнення.
37
3. Блок для додавання інгредієнтів містить:
- компонент, який змінює к-сть полів інгредіентів в масив. Лічильник к-сті показує актуальну довжину масиву інгредієнтів. Кнопки +/- або додають або видаляють поля для вводу, починаючи з кінця.
- поля для вводу данних про інгредієнти, складається з:
* назву інгредієнта
* к-сть інгредієнта + міра к-сті з випадаючого списку
* кнопка видалення, по кліку на яку воно видаляється зі стейту і сторінки.
Варто розширити можливості роботи з інгредієнтами та розширити опис в ТЗ:
1. Редагування доданих в рецепт інгредієнтів
Чи можна редагувати інгредієнти після додавання?

Стосовно інгрідієнтів, не зрозуміло, куди їх додавати і звідки брати зображення.
Немає обмежень по кількості інгрідієнтів.
Розташування кнопки "Додавання інгрідієнтів" в горі - не зручна в користуванні.
38
4. Блок для введення текста самого рецепта . текст введений користувачем починається з нового рядка після натискання на клавішу ENTER в текстовому полі.
Якщо весь текст був написаний без переходу на новий рядок через ENTER, то в масиві повинен бути один елемент з цим текстом
39
5. Блок Follow us мiстить список елементів з посиланнями на соцмережі На макеті в мобільній версії та планшеті немає блоку "Follow us"
40
6. Блок Popular recipe, який рендерить список популярних рецептів
В разі помилки компонент рендерить повідомлення про відсутність популярних рецептів в данний момент.
6.1. Елементи потрібно виконати лінками і по кліку на будь-який з них користувача потрібно пересувати на сторінку з описом рецепту RecipePage
Недостатньо інформації як саме перевіряти "В разі помилки компонент рендерить повідомлення про відсутність популярних рецептів в данний момент". Якщо перевіряти через апі, то відображаються різні повідомлення при різних помилках
https://www.loom.com/i/40ce725c642545c495bf06c220faaa8e
Пункт 6.1 незрозуміло описаний
41
Сторінка FavoritesСторінка FavoritesСторінка Favorites
42
1. На сторінці Favorites відображена галерея з картками рецептів, що були збережені під час додавання їх по кліку на кнопку Add To Favorite (зi сторiнки рецепту)ок
43
1.1. Картки рецептiв містять
- назву рецепту
- фото рецепту
- текст - опис рецепту
- час приготування
- кнопка
See recipe
- кнопка видалення
ок
44
2. Клік на кнопку для видалення видаляє рецепт зі списку улюблених, а також видаляє рецепт зі сторінки Favoriteокчи оновлюється локальний список улюблених рецептів при видаленні рецепта з бази (наприклад, якщо адміністратор видалить рецепт із системи).
45
3. По клiку на See recipe, відкривається сторінка рецепту стравиок
46
Сторінка обраного рецепта Сторінка обраного рецепта Сторінка обраного рецепта
47
1. Сторінка одного рецепта мiстить:
- назва рецепту
- опис рецепту, якщо є
- кнопка
Add to favorite recipes
- час приготування, якщо є
- блок Інгрідієнти, що містить
* назву інгрідієнта
* зображення нгрідієнта, якщо є, або заглушка
* к-ть інгрідієнта
* чекбокс - Додати до списку покупок (
Add to list)
- блок
Recipe Preparation, де вказана послідовність приготування страви
- картинку рецепту або заглушку
Відсутня можливість редагувати доданий рецепт.Варто додати відповідну кнопку, оскільки велика ймовірність виникнення помилок при створенні рецепту.Зображення інгредієнтів занадто великі , натомість шрифт для кількості інгредієнтів дуже дрібний.
48
2. По натисканні на кнопку Add to favorite, рецепт потрапляє на сторінку Favoritesок
49
2.1. Якщо такий рецепт вже є в списку улюблених, то на місці Add to Favorite повинна бути кнопка Remove From Favorite, клік по котрій видаляє рецепт зі списку улюбленихок
50
3. Клік по чекбоксу додає в список покупок інгредієнт та його к-сть, після чого в чекбоксі з'являється галочка. При повторному натисканнi, галочка зникає, інгредієнт видаляється зi списку покупок ок
51
Сторінка My recipesСторінка My recipesСторінка My recipes
52
1. Сторінка My recipes містить список карток з описами рецептів, створених користувачем. Кожна картка повинна мати:
- заголовок з назвою страви/рецепту
- час приготування
- фонове зображення самого рецепту або якщо воно відсутнє - фон такий як у футера
- кнопку видалення, яка видаляє елемент зі сторінки
- кнопку See recipe реалізовану лінком, що редіректить користувача на сторінку з описом рецепту
окДодати можливість редагувати свої рецептиНе відображається категорія рецепта, хоча вона вказується при заповненні нового рецепта.
Уточнити, що саме в ТЗ мається на увазі під "фотнове зображення самого рецепту". Згідно макету. - це фото рецепта.
53
2. По клiку на кнопку видалення, елемент зникає зі сторінкиокЯкщо користувач видалить всі свої рецепти, відображається заглушка або повідомлення?
54
3. По клiку See recipe, вiдкривається Сторінка обраного рецепта ок
55
Сторінка SearchСторінка SearchСторінка Search
56
1. Сторінку з пошуком по ключовому слову мiстить
- блок форми пошуку, що включає
* поле для введення значень для пошуку
* кнопка Search
* перемикач, який пропонує опції налаштування пошуку за назвою, або за інгредієнтами
- список рецептів (карток з прев'ю) по обранному значенню для пошуку
Не зазначено, як поводиться додаток, якщо перемикати опції пошуку без заповнення поля пошукуДодати можливість перемикати опції пошуку до заповнення поля пошуку
57
2. По клiку на кнопку Search виконується новий пошук кожного разу коли змінюється значення одного з параметрів.
Якщо відсутнє будь-яке значення параметрів, запит не відбувається.
В результаті:
- успішного запиту - картки рецептів оновлюються згідно з зазначеними критеріями пошуку
- помилки - картки рецептів зникають і користувачу виводиться відповідне пуш-повідомлення.
Потрібно додати текст пуш-повідомлення у разі помилки пошуку
58
3. Картка прев'ю рецепту містить фото, якщо немає - заглушка, та назву рецептуок
59
3.1. По клiку на прев'ю обраного рецепту, відкривається сторінка рецепту стравиок
60
Сторінка Shopping listСторінка Shopping listСторінка Shopping list
61
1. Сторінка Shopping list мiстить список елементів з інгредієнтами до покупки та заголовок до цього списку.
Кожен елемент списку має:
- зображення інгредієнту або плейсхолдер
- к-сть в відповідних одиницях виміру
- кнопку для видалення елементу зі списку
Не зазначено як оновлюється кількість інгредієнта в списку, якщо він уже доданий - сумується чи створюється окремий рядок. Відсутня можливість фільтрувати або сортувати список. Бажано б мати можливість бачити для якого рецепту був доданий інгридієнт Після перевірки доданих інгредієнтів в "Лист покупок", відсутня кнопка повернення на попередню сторінку.
62
2. Клік по кнопці видалення повинен видалити елемент зi в списку на сторінці."зі в списку" замінити на "зі списку"Відсутня можливість видаляти відразу все, або за фільтром
63
ФутерФутерФутер
64
1. Компонент Footer мiстить:
- логотип
- блок інформації про додаток
- блок навігації, що мicтить категорії
* Ingridients - переадресовує на сторінку Search Page з встановленим на сторінці за замовчуванням типом пошуку по інгредієнтах.
* Add recipes - переадресовує на сторінку додавання рецепту
* My recipes - переадресовує на сторінку доданих рецептів користувачем
* Favorite - переадресовує на сторінку обраних рецептів
* Shopping list - переадресовує на сторінку зі списком покупок
- блок форми підписки
- блок Follow us, що мiстить список елементів з посиланнями на соцмережі
На мобільній версії немає блоку інформації про додатокВарто уточнити це в ТЗ
65
2. Блок форми підписки мiстить
- поле для вводу емейла користувача
- кнопка відправки Subscribe.
Ок
66
2.1 Поле для вводу повинно валідуватись на коректний емейл.
Якщо емейл в полі відсутній, кнопка не активна.
Якщо емейл не валідний, користувач отримує відповідне пуш-повідомлення.
Окпередбачена перевірка на дублювання email?
67
2.2 По сабміту форми, емейл відправляється і користувач підписується на розсилку новин. ОкПункт 2.2 треба відредагувати. "По сабміту форми" змінитити на "Після заповнення форми"
68
*додаткове завдання:
Мотивацiйнi модалки
*додаткове завдання:
Мотивацiйнi модалки
*додаткове завдання:
Мотивацiйнi модалки
69
1. Модалки мотиваційного повідомлення з'являютья по досягненню юзера:
- певної кількості відвідин сайту
- певної к-сті доданих рецептів
- певної к-сті використання інтерфейсу(наприклад першого створеного списку покупок)
і т.д.
Відсутня конкретика в ТЗ. Мотивалки можна перевірити лише на бекенді.Додати умови по досягненню яких повинні з'являтися мотиваційні модалки
Було б цікаво, якщо б улюблені рецепти користувачів, після додавання до розділу "Улюлені рецепти", відображались якость особливо.
70
2. Модалка повинна показувати:
- картинку
- назва досягнення
- мотиваційний текст
Прописати досягнення та мотиваційний текст
71
3. Модалка може бути закрита по кліку на бекдроп, за натисканням на кнопку Закрити та за натисканням кнопки ESCок
72
73
74
75