-
Notifications
You must be signed in to change notification settings - Fork 0
/
search
100 lines (46 loc) · 5.07 KB
/
search
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
https://medium.com/p/5d1ba8f6d679/edit
https://medium.com/p/9ec0ad4bb9b2/edit
https://github.com/ChickenKyiv/database-visuals/issues/2
https://github.com/ChickenKyiv/recipe-search-api/issues
https://github.com/ChickenKyiv/recipe-search-api/issues/23
https://github.com/ChickenKyiv/database-visuals/issues/4
Что нужно сделать?
1) понять работает ли скрипт импорта?
Я хотел его улучшить, но времени нехватает. Я опишу детальнее эту задачу.
2) создать remote методы, которые упростят получение параметров для поиска. Это нужно будет протестировать, введенные данные находят основное предназначение сейчас: сделать так, чтобы backend работал правильно и frontend developers могли его использовать.
Также этот поиск будет перенесен в основной проект - ChickenKyiv, и его будет использовать recipe app которую мы делаем.
Возможно следующим улучшением будет mimic recipe search that google using. Same elements, similar or same names for good compatibility with it.
Search.
Intro
Search is a big and important part at ChickenKyiv project.
У нас есть отдельный репозиторий, который имеет API server, чтобы ничего не отвлекало.
У нас есть отдельный репозиторий для advanced form.
Есть отдельный репозиторий, в котором мы создаем Alexa Skill для поиска рецептов по ключевым словам, по ингредиентам и другим елементам внутри рецепта.
Данные импортированны в базу данных. некоторые рецепты были изменены, чтобы лучше тестировать поиск.
Я нашел несколько туториалов, которые рассказывают о создании recipe search. Ссылки на самые важные статьи я положу вконце.
Вот схема базы данных, которая есть сейчас.
Следующим шагом будет протестировать поиск на больших объемах данных, мы будем модифицировать таблицы, добавлять индексы, улучшать скорость работы, оптимизировать remote methods.
Вот как выглядит форма поиска, которую мы хотим повторить на реакте. Ссылка на репозиторий
## Как тестировать поиск.
Для упрощения тестирования я создал visuals которые в наглядной форме показывают - какие параметры необходимо передавать, и какой результат можно получить.
-------------
Задачи по Advanced Form
При выборе значений в форме необходимо формировать объект или строку с данными, которая и будет отправлять данные на сервер.
При submit form, - отправлять запрос к серверу
Получать ответ от сервера, обрабатывать результат и вывести его на странице
Обработать и уникальные случаи:
ошибкиб неверно введенные данные и т.д
перейти от отправки тестовых значений, i.e. Ingredient Name к отправлению id, в которых ошибиться гораздо сложнее
Требования к коду формы:
Улучшить внешний вид, сделать форму более аккуратной, удобной для использования.
responsive, fast loading, with good css structure.
It's should be recreated later with create_react_app or using gatsby
Because we're using it at other project places.
Not sure: Возможно использовать GraphQL stuff
Later:
App работать будет в примерно похожем формате как и advanced Form
Но мы не будем делать эту задачу в первых релизах.
В начале AppWireframes, Search UI finished
only then we'll work with server and database.
следующим шагом будет перенос функционала импорта, обновление modelи их связи, remote methods, отвечаю уже за search в chickenKyiv проект
При усложненпии структуры БД - возможно будут и другие аттрибуты, влияющие на поиск