Astro + Directus: сайт недвижимости с мгновенной фильтрацией и управлением через Telegram.
Заказчик пришёл с базой объектов в Google Таблицах и фотками на Google Drive. Мы выкупили сервер, развернули Docker + Traefik, подняли Headless CMS (Directus) и собрали сверхбыстрый фронт на Astro. Главная фишка: собственник не заходит в админку сайта вообще — вся загрузка объектов идёт через Telegram-бота.
Performance
(фильтрация на лету)
через Telegram
Зачем понадобилась новая архитектура
До начала проекта у заказчика фактически не было ни сайта, ни нормальной базы данных. Весь «учёт» недвижимости — это раскиданные папки на Google Drive и бесконечные строчки в Google Таблицах.
С таким «колхозным» подходом идти к серьёзным клиентам и агентствам было нельзя. Вторая боль — конечные покупатели могли посмотреть объекты, только листая ленту Telegram-канала. Найти нужную квартиру с конкретным фильтром было невозможно.
С серьёзным продакшном в недвижимости не работают через Google Drive. Нужна была взрослая инфраструктура, но при этом максимально простая для самого владельца.
Без Astro / С новой архитектурой
- База данных в Google Таблицах
- Фотографии в хаотичных папках Google Drive
- Витрина объектов — только лента Telegram-канала
- Поиск нужной квартиры занимает часы
- Несолидный имидж для B2B-партнёров
- Выделенный сервер (VPS) с Docker и Traefik
- Взрослая Headless CMS (Directus) под капотом
- Молниеносный фронтенд на Astro
- Мгновенная фильтрация галереи на сайте
- SEO-оптимизация и 98/100 в Lighthouse
Киллер-фича: CMS без интерфейса
Сайт работает на фреймворке Astro. Выбор пал именно на него, потому что Astro отдаёт чистый HTML без лишнего JavaScript. В итоге галерея объектов работает настолько быстро, что нажимать кнопку «Найти» больше не нужно — фильтр сортирует объекты на лету прямо во время ввода.
Но самое интересное скрыто в админке. В качестве базы данных мы развернули Directus — мощную Headless CMS. Мы настроили её полностью: прописали все правильные поля, связи, зависимости категорий.
Но собственник практически не взаимодействует с Directus.
Люди ненавидят разбираться в новых админках. Поэтому мы сделали так, что объекты в CMS (которые потом улетают на сайт) не грузятся через веб-интерфейс напрямую. Весь флоу завязан на Telegram. Клиент просто скидывает фотки и данные в привычного Telegram-бота, бот сам раскидывает всё по нужным таблицам в Directus, а Astro мгновенно пересобирает витрину на сайте.
Вся мощь реляционной базы данных спрятана под капотом. Для клиента интерфейсом управления сайтом остался привычный мессенджер.