💆 Demo SPA Bot

Telegram-бот для SPA-салона: запись на услуги, выбор мастера, управление бронированиями и админ-панель.

Построен на aiogram с JSON-хранилищем — лёгкий, без БД, готов к запуску.


🚀 Возможности

  • 📋 Услуги — массаж, SPA, косметология (настраивается в config.py)
  • 👩‍🔬 Мастера — выбор специалиста с эмодзи-аватарками
  • 📅 Запись — календарь, слоты по 1 часу, мультиуслуги
  • 👤 Профиль — просмотр имени / ID
  • 📄 Мои записи — просмотр, отмена, редактирование броней
  • 🔐 Админ-панель — просмотр и отмена любых записей
  • 📞 Контакты — адрес и телефон салона

🧱 Структура

demo_spa_bot/
├── app/
│   ├── main.py              # Точка входа
│   ├── config.py            # Услуги, мастера, слоты
│   ├── logger.py            # Логирование
│   ├── db/
│   │   ├── __init__.py
│   │   └── memory.py        # JSON-хранилище (users, bookings)
│   ├── handlers/
│   │   ├── admin.py         # Админ-панель
│   │   ├── about.py         # "О нас"
│   │   ├── booking.py       # Процесс записи (FSM)
│   │   ├── contacts.py      # Контакты
│   │   ├── mybookings.py    # Мои записи
│   │   ├── profile.py       # Профиль
│   │   ├── services.py      # Список услуг
│   │   └── start.py         # Команда /start
│   ├── keyboards/           # Reply-клавиатуры
│   ├── services/
│   │   └── booking_service.py  # Бизнес-логика бронирования
│   └── states/
│       └── booking.py       # Состояния FSM
└── data/                    # JSON-файлы (users.json, bookings.json)

🛠 Установка и запуск

# 1. Клонировать
git clone https://git.labnethub.ru/grejoi4621/demo_spa_bot.git
cd demo_spa_bot

# 2. Виртуальное окружение
python -m venv .venv
source .venv/bin/activate   # Linux/macOS
# .venv\Scripts\activate    # Windows

# 3. Зависимости
pip install -r requirements.txt

# 4. Переменные окружения
cp .env.example .env        # или создать вручную
# BOT_TOKEN=ваш_токен_бота

# 5. Запуск
python -m app.main

⚙️ Конфигурация

В app/config.py:

Переменная Описание Значение по умолчанию
BOT_TOKEN Токен Telegram-бота из .env
ADMIN_PASSWORD Пароль для /admin настраивается
SERVICES Словарь услуг массаж, SPA, косметология
MASTERS Словарь мастеров Анна, Мария, Алексей
TIME_SLOTS Доступное время 09:0018:00, каждый час

🔐 Админ-панель

В чате с ботом: /admin пароль

Админ видит все бронирования и может отменять любые.


🗄 Хранилище

Данные хранятся в JSON-файлах в папке data/:

  • users.json — пользователи
  • bookings.json — бронирования

Файлы создаются автоматически при первом запуске.


🤝 Разработка

  1. Создаёшь ветку от master
  2. Вносишь изменения
  3. Открываешь Pull Request в master
git checkout -b feat/my-feature
# ... работа ...
git push origin feat/my-feature

📄 Лицензия

MIT — делайте что хотите.

S
Description
No description provided
Readme
732 KiB
Languages
Python 100%