· 4 мин чтения

Справочник комнатных растений: как я наполняю базу и что нашёл в своём же коде

pochemu-rastenie.ru — справочник комнатных растений: карточки из проверенных источников, фото с Wikimedia Commons, подбор под условия квартиры. Честный разбор: сначала на сайте не было ни одной фотографии, а стили страниц были сломаны.

проектысправочникитестирование

Это уже четвёртый проект, о котором пишу, и второй из класса «справочников» — первые были про

«Деревья России». Здесь речь про комнатные растения: pochemu-rastenie.ru — база карточек с

поиском, подбором под условия квартиры и сравнением. Как всегда, честно: проект **на этапе

тестирования**, и ниже — как он устроен и что я в нём вчера нашёл.

Что это за сайт

Идея простая: люди ищут не «статью про фикус», а ответ — подойдёт ли это растение мне.

Поэтому в каждой карточке не общие слова, а конкретика: свет, полив, температура, влажность,

грунт, подкормка, пересадка, размножение, обрезка, максимальная высота в комнате, цветение,

частые проблемы, ядовитость для кошек и собак. Плюс интересные факты из источников.

Сверх карточек — три вещи, которые и делают справочник полезным:

  • Поиск с учётом русского: «фикус», «береза», «елка» — находит независимо от заглавных букв и «ё».

Это, кстати, не мелочь: в базе такое приходится обрабатывать отдельно, обычный SQL не умеет.

  • Подбор («какое растение подойдёт для северного окна, если есть кот») — форма ставит условия

и выдаёт подходящие варианты, а токсичные для питомцев отсеивает.

  • Сравнение двух растений бок о бок — чтобы выбрать одно, а не читать две статьи.

Карточек сейчас 42, дальше буду добавлять.

Откуда берутся факты

Правило жёсткое: ни одного факта из головы. Каждая карточка собирается из открытых источников —

статей Википедии на русском и английском, лицензия CC BY-SA позволяет использовать их с атрибуцией.

Для каждой карточки хранится оригинальный английский текст рядом с переводом, чтобы всегда можно было

сверить.

Как это выглядит на практике: черновые карточки по пяти растениям собирают параллельные ИИ-агенты —

каждый по одному и тому же строгому шаблону: 26 полей, факты только из статьи, ссылки на источники

обязательны. Что в статье не сказано — поле остаётся пустым, а не заполняется «общеизвестной

правдой». Потом я свожу их в базу и вычитываю.

Фото: их не было вообще

Вот это была главная находка. Механизм галереи в коде существовал, а самих фотографий —

ни одной: папка пустая, поле с фото пустое у всех растений. Для справочника растений это

смертельно: люди ищут «фото и название».

Скачал 126 фотографий (по три на каждое растение) с Wikimedia Commons — это легально, но с

обязательным условием: указывать автора и лицензию. Поэтому под каждой галереей стоит строка вида

«Фото: Julian Herzog · CC BY 4.0; Cayambe · CC BY-SA 4.0 — Wikimedia Commons», а клик по фото

ведёт на страницу источника. Пришлось повозиться: Wikimedia отдаёт имя автора вместе с HTML-ссылкой

внутри, и в подписи сначала вылезал кусок разметки вместо имени.

Вторая находка: сайт выглядел нормально, а стили не работали

Это самое неприятное из всего. В коде шаблон страницы — обычная строка, куда подставляются

заголовок и описание. Но CSS и скрипты внутри были записаны как в «умной» строке, с двойными

фигурными скобками. В итоге браузер получал 128 мест с `{{` — и просто выбрасывал эти правила.

Что это значило на практике: медиазапрос для телефонов не срабатывал, фотографии выводились

шириной 960 пикселей и вылезали за экран. Снаружи всё выглядело «почти нормально» — поэтому баг

и жил незамеченным. Нашёл его просто: посмотрел, какой CSS реально приходит в браузер, и сравнил

с тем, что написано в файле.

После починки на телефоне (390 px) фото идут ровно по ширине экрана, на компьютере — по три в ряд.

Почему я об этом пишу

Потому что это типичная история про «работает же». Сайт открывался, поиск искал, страницы

отдавали код 200 — а внутри не было фотографий и не работала половина оформления. Такие вещи не

видно ни в мониторинге, ни в статистике: их видно, только если открыть страницу и посмотреть

глазами — или проверить, что именно уходит в браузер.

Второй вывод — про проверку: считать цифру и увидеть цифру — разные вещи. В прошлом проекте

калькулятор на сайте считал цену ниже себестоимости, здесь — стили молча не применялись. И там,

и тут правка в файле выглядела верной.

Что дальше

Довести базу до 60–80 карточек, связать болезни и вредителей с конкретными растениями (сами

карточки болезней в базе уже есть), подключить отдельный счётчик аналитики — сейчас сайт делит

его с другим проектом, и трафик смешивается.

Посмотреть: pochemu-rastenie.ru. Попробуйте поиск по названию

или подбор — если чего-то не хватает, напишите, добавлю.

Комментарии 0

Пока никто не высказался — будьте первым.

Есть вопрос по дереву или по проекту — напишите, отвечу сам.

ildare@ildare.ru