Что это за проект
Приложение для курортного посёлка: лента свободного жилья и экскурсий «прямо сейчас» и 3D-карта с настоящим рельефом и домами. Пока работает как демо: реальных хозяев я ещё не подключал, а отметки живут сутки, поэтому лента бывает пустой.
Кто пользуется: Туристы в Кабардинке, хозяева жилья и экскурсоводы
Какую задачу решает
В курортном посёлке свободные места меняются каждый час, а объявления на досках и в чатах устаревают за день. Здесь всё держится на одной отметке: хозяин ставит «Свободно сейчас», объявление сразу появляется у всех, кто смотрит, а через сутки уходит само, если его не продлили. Туристу не нужно обзванивать десяток номеров — он видит только свободное и пишет хозяину в Telegram готовым сообщением.
Свежесть важнее количества
Отметка живёт 24 часа. Лента не копит вчерашние объявления, поэтому всё, что в ней есть, свободно прямо сейчас.
Карта настоящего посёлка
Рельеф, дома и пляжи взяты из открытых данных, а не нарисованы. Поэтому подпись «в горку» считается по реальному подъёму от моря, и такие варианты можно отсечь фильтром.
Реклама по закону
Рекламные карточки помечены по закону о рекламе: «Реклама», рекламодатель и идентификатор erid. Показы и клики видны в админке.
Что я сделал
- Идея, дизайн и разработка с нуля — первая рабочая версия за вечер
- Сервер: отметка «Свободно» доходит до всех открытых экранов примерно за 0,03 секунды, через сутки снимается сама
- 3D-карта посёлка: настоящий рельеф, около 3 800 зданий, дороги и пляжи из открытых карт, свет по времени суток
- Кабинет хозяина: объявление с фото и точкой на карте, продление, «снять все»
- Админка: модерация объявлений и реклама с маркировкой по закону о рекламе, статистика показов и кликов
Что умеет сайт
- Лента «свободно прямо сейчас» с обновлением вживую
- Кнопка «Написать» открывает Telegram хозяина с готовым текстом: когда и сколько гостей
- Погода и температура моря
- «В горку» по реальному рельефу и фильтр «Без подъёма»
- Маршрут в Яндекс Картах и избранное
- Фото хозяев без геометок: координаты из снимков не сохраняются
На чём сделано
- Node.js 22 и встроенный SQLite
- Server-Sent Events для обновлений вживую
- React 19 и Vite
- Three.js для 3D-карты
- Данные OpenStreetMap и рельеф Terrarium
- Nginx и systemd на своём сервере
Про дизайн
Интерфейс сделан как приложение для телефона: светлая песочная палитра, крупные кнопки, нижнее меню. Карта днём, на закате и ночью выглядит по-разному — ночью на ней горят улицы и окна.
Ещё снимки








