Все проекты

BOSHMI

Запись к мастерам и в студии.

Telegram Mini App · Web · Запись

Схема проекта
Моя роль
Автор продукта · Full-stack Developer
Период
2026
Результат / этап
MVP развёрнут
Команда
Соло-разработка

Задача

Дать клиенту выбрать услугу и время, а мастеру управлять расписанием, переносами и отменами. Я создал продукт целиком, включая Telegram Mini App, backend и интерфейсы мастера и студии.

Логика записи

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

  1. 01Выбор времени
  2. 02Удержание на 5 минут
  3. 03Подтверждение
  4. 04Напоминание в очереди

Схема работы продукта. Время на иллюстрации приведено для примера.

Ключевые решения

01

Одно время, несколько клиентов

Ограничение

Несколько человек могут одновременно выбрать один слот. Нужно учитывать длительность услуг, подготовку и перерывы.

Решение

Реализовал удержание слота на пять минут и обработку повторных запросов без дублей. Добавил ограничение PostgreSQL для защиты расписания от пересечений.

Что это даёт

Пока клиент подтверждает запись, слот занят. Одновременные и повторные запросы не создают пересекающиеся записи.

02

Напоминания после переноса

Ограничение

После отмены или переноса старое напоминание становится неактуальным. Временные ошибки доставки требуют повторных попыток.

Решение

Вынес отправку в очередь с отдельным worker. При переносе или отмене убираю устаревшие задания; учитываю тихие часы и повторные попытки доставки.

Что это даёт

Напоминания связаны с актуальным состоянием записи. Окончательные ошибки отправки видны в админке.

Мой вклад

  • Сам разработал продукт от сценариев и интерфейсов до backend и развёртывания.
  • Реализовал удержание слотов, защиту расписания от пересечений и очередь уведомлений.

Стек

  • TypeScript
  • Vite
  • PostgreSQL
  • Redis
  • Docker
  • Telegram Mini App

Статус проекта

Кейс обновлён 20 октября 2026

Развернул MVP. Дорабатываю интерфейсы клиента, мастера и студии. Перед пилотом проверю основные сценарии и доставку уведомлений на реальных устройствах.