DUNSKIY BARBER — онлайн-запись (FastAPI + SQLite + статика)
  • HTML 92.2%
  • Python 6.7%
  • CSS 1.1%
Find a file
2026-06-11 23:27:10 +00:00
clients fix: remove duplicate sections from manage 2026-06-11 23:15:24 +00:00
.gitignore v2: booking system with Jinja2, theme.json, Docker, multi-client structure 2026-06-08 09:02:02 +03:00
config.json v2: booking system with Jinja2, theme.json, Docker, multi-client structure 2026-06-08 09:02:02 +03:00
docker-compose.yml v2: booking system with Jinja2, theme.json, Docker, multi-client structure 2026-06-08 09:02:02 +03:00
Dockerfile v2: booking system with Jinja2, theme.json, Docker, multi-client structure 2026-06-08 09:02:02 +03:00
main.py fix: properly save social fields 2026-06-11 23:27:10 +00:00
NEW-SITE.md docs: how to add new site 2026-06-10 16:29:16 +03:00
PROMPTS.md fix: prompts for DeepSeek, strict API format 2026-06-11 01:52:21 +03:00
README-API.md init: booking system with 10 client sites 2026-06-10 15:47:07 +03:00
README.md docs: vk mention in readme 2026-06-10 16:45:21 +03:00
requirements.txt v2: booking system with Jinja2, theme.json, Docker, multi-client structure 2026-06-08 09:02:02 +03:00
seed.py v2: booking system with Jinja2, theme.json, Docker, multi-client structure 2026-06-08 09:02:02 +03:00
VK-SETUP.md docs: vk setup guide 2026-06-10 16:43:08 +03:00

Сайт онлайн-записи

Готовый сайт для вашего бизнеса с онлайн-записью. Адаптивный дизайн, админка, свой домен.

Возможности

  • Интеграция с ВКонтакте — кнопка записи в меню сообщества (см. VK-SETUP.md)

  • Красивый лендинг под ваш бизнес

  • Онлайн-запись в 4 шага: мастер → услуга → дата/время → контакты

  • Админ-панель: управление мастерами, услугами, ценами, расписанием

  • Выходные дни для каждого мастера

  • График записей по дням

  • Кастомный код — замена любой секции сайта через ChatGPT

  • Своя база данных

  • Свой домен (подключается за 5 минут)

Как запустить

python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

# Запуск
BOOKING_CLIENT=dunskiy-barber uvicorn main:app --host 0.0.0.0 --port 8001

Сайт откроется на http://localhost:8001.

Production

Сайт запускается как systemd-сервис:

sudo tee /etc/systemd/system/booking.service << 'EOF'
[Unit]
Description=Booking Site
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/opt/booking
Environment=BOOKING_CLIENT=dunskiy-barber
ExecStart=/opt/booking/venv/bin/uvicorn main:app --host 0.0.0.0 --port 8001
Restart=always
RestartSec=5
Environment=PYTHONUNBUFFERED=1

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable --now booking

Caddy (reverse proxy)

мой-сайт.рф {
    reverse_proxy localhost:8001
}

API

Метод Путь Описание
GET /api/config Настройки компании
GET /api/masters Список мастеров
GET /api/masters/{id}/services Услуги мастера
POST /api/masters/{id}/available-slots Свободные слоты
POST /api/book-to-master Запись к мастеру
GET /api/admin/bookings Все записи на дату
GET /api/admin/masters Управление мастерами
GET /api/sections Кастомные секции
GET /api/page-structure Структура для ChatGPT

Структура файлов

├── main.py              # Бэкенд
├── config.json          # Настройки
├── requirements.txt     # Зависимости
├── data/                # База данных
└── templates/
    ├── index.html       # Главная страница
    ├── booking.html     # Страница записи
    └── admin.html       # Админ-панель

Генерация через ChatGPT

Промпты для ChatGPT лежат в файле PROMPTS.md.

Коротко:

  1. Открой ChatGPT
  2. Вставь промпт из PROMPTS.md
  3. Напиши какой сайт нужен
  4. ChatGPT выдаст HTML
  5. Вставь в админку → Кастомный код → Сохранить

Админка

/admin — пароль в theme.json (admin_password_hash).

В админке можно:

  • Менять название, телефон, адрес, описание
  • Добавлять/удалять мастеров
  • Добавлять/удалять услуги
  • Настраивать выходные дни
  • Смотреть график записей
  • Редактировать секции сайта
  • Вставлять кастомный HTML-код