Кейс · Go-бэкенд
Запись на приём
Онлайн-запись на услуги: свободные слоты с учётом длительности и рабочих часов, защита от двойной записи, админ-панель. Вымышленная студия, демо.
- Go
- SQLite
- Docker
01 · Как выглядит
Скриншоты


02 · О проекте
Что это и зачем
Онлайн-запись для вымышленной студии: клиент выбирает услугу, день на две недели вперёд, свободное время и оставляет контакт. Владелец управляет всем в админке.
Слоты считаются по длительности услуги, рабочим часам дня недели и уже занятым интервалам. Двойная запись исключена на уровне транзакции и уникального индекса.
Ограничения
Студия, услуги и цены вымышлены. Токен админки задаётся переменной ADMIN_TOKEN, иначе генерируется и печатается в лог.
Что внутри
- Расчёт свободных слотов с шагом 30 минут
- Проверка пересечений в транзакции плюс частичный UNIQUE в SQLite
- Админка: записи, услуги, часы работы, закрытые даты
- Часовой пояс из переменной окружения, tzdata встроена в бинарник
- Тесты и Docker
03 · Как запустить
Запуск одной командой
git clone <репозиторий по запросу> booking-slots
cd booking-slots
go run . # http://localhost:8083, админка /admin04 · Код
Репозиторий приватный
Исходники лежат в приватном репозитории. Открою доступ по запросу: напишите, и пришлю приглашение.
Запросить код