Все проекты

Маркетплейс бронирования beauty-услуг

Маркетплейс записи в бьюти- и велнес-салоны для Литвы — геопоиск и запись.

Vue 3webedge-dbGeosearch
Скриншот BeautyMarketDev-story
01

Задача

Запись на beauty-услугу — это салон рядом, нужный мастер и свободное время, а не объявление, которое покупаешь онлайн.

02

Что делали

MVP на Vue 3 (Composition API, Pinia для UI-стейта) + webedge-db для бьюти-рынка: геопоиск салонов, запись с выбором мастера, отзывы и рейтинги, оплата на месте (без онлайн-платежей), кабинет партнёра и админка.

03

Результат

Рабочий поток записи для литовского beauty-рынка — найди салон по месту, выбери мастера и время, заплати на месте.

Dev-story статья

Маркетплейс бронирования beauty-услуг: как создавался проект

У маркетплейса бронирования один дефицитный ресурс — календарь конкретного мастера. Сложность не в списке салонов, а в честности свободного слота: он должен одновременно сходиться с графиком одного сотрудника, часами работы салона, несколькими услугами подряд и часовым поясом Europe/Vilnius. А поскольку за бронь платят на месте, а не онлайн, нет шага оплаты, который замял бы расхождение: какая цена показана в каталоге, столько клиент и платит в кресле.

Разделы

05

Модули

05

Стек

Vue 3 + webedge-db

01

Почему появился проект

Запись на beauty-услугу — это салон рядом, нужный мастер и свободное время, а не объявление, которое покупаешь онлайн.

У маркетплейса бронирования один дефицитный ресурс — календарь конкретного мастера. Сложность не в списке салонов, а в честности свободного слота: он должен одновременно сходиться с графиком одного сотрудника, часами работы салона, несколькими услугами подряд и часовым поясом Europe/Vilnius. А поскольку за бронь платят на месте, а не онлайн, нет шага оплаты, который замял бы расхождение: какая цена показана в каталоге, столько клиент и платит в кресле.

02

Что было создано

MVP на Vue 3 (Composition API, Pinia для UI-стейта) + webedge-db для бьюти-рынка: геопоиск салонов, запись с выбором мастера, отзывы и рейтинги, оплата на месте (без онлайн-платежей), кабинет партнёра и админка.

BeautyMarket — маркетплейс для Литвы, где клиенты ищут салоны по карте, открывают страницу салона, выбирают конкретные услуги и мастера и бронируют время — как гость или зарегистрированный пользователь. Партнёры получают кабинет для управления салоном (календарь, услуги, персонал, часы работы, фото, скидки на услуги, статистика); админская сторона следит за платформой. Отзывы и рейтинги, избранное и письма-подтверждения с вложением .ics замыкают цикл.

03

Основные модули и путь пользователя

M01

Движок слотов, считающий реальную доступность по календарю выбранного мастера, часам работы салона и суммарной длительности нескольких услуг; всё хранится в UTC и показывается в Europe/Vilnius через Luxon

M02

Единый источник правды по цене: итоговая цена (базовая минус скидка 1–90% на услугу) считается в одном общем модуле, поэтому мутация брони списывает ровно столько, сколько показывает перечёркнутая цена в каталоге — критично при оплате на месте

M03

Гео-поиск по geospatial-индексу с картой Leaflet/OSM, плюс постраничный поиск каталога по названию услуги, фильтр по рейтингу, сортировка и лента 'похожих салонов' по городу и категории

M04

Гостевое бронирование с телефоном и письмом-подтверждением рядом с зарегистрированными аккаунтами, у которых роль проверяется на сервере; кабинет партнёра охватывает услуги, персонал, загрузку фото, часы работы и скидки-спецпредложения

M05

SEO для каждого салона через edge Pages Functions, которые на уровне CDN вставляют реальные мета-теги и динамический sitemap, так что каждый URL салона индексируется без серверного рендеринга

04

Архитектура и технологические решения

Сделано на Vue 3, webedge-db, Geosearch.

Vue 3 со script-setup и Composition API, Vite, Vue Router и Pinia для UI-стейта, vue-i18n для LT/EN/RU; вся серверная логика в реактивном бэкенде с geospatial-индексом, cron-задачами, аутентификацией email-plus-OTP и Google, деньги в центах, а Vitest и бэкенд-тесты держатся зелёными.

05

Результат и выводы

Рабочий поток записи для литовского beauty-рынка — найди салон по месту, выбери мастера и время, заплати на месте.

Полный MVP-скоуп реализован, build, lint и тесты зелёные; статус честный — код production-формы, но ему ещё нужен первый запуск против живого деплоя бэкенда, прежде чем он встретит настоящие салоны.

Читать дальше

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

Есть похожая идея?

Обсудить проект