# 💆 Demo SPA Bot Telegram-бот для SPA-салона: запись на услуги, выбор мастера, управление бронированиями и админ-панель. Построен на **aiogram** с JSON-хранилищем — лёгкий, без БД, готов к запуску. --- ## 🚀 Возможности - **📋 Услуги** — массаж, SPA, косметология (настраивается в `config.py`) - **👩‍🔬 Мастера** — выбор специалиста с эмодзи-аватарками - **📅 Запись** — календарь, слоты по 1 часу, мультиуслуги - **👤 Профиль** — просмотр имени / ID - **📄 Мои записи** — просмотр, отмена, редактирование броней - **🔐 Админ-панель** — просмотр и отмена любых записей (пароль `admin123`) - **📞 Контакты** — адрес и телефон салона --- ## 🧱 Структура ``` 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) ``` --- ## 🛠 Установка и запуск ```bash # 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 | `admin123` | | `SERVICES` | Словарь услуг | массаж, SPA, косметология | | `MASTERS` | Словарь мастеров | Анна, Мария, Алексей | | `TIME_SLOTS` | Доступное время | 09:00–18:00, каждый час | --- ## 🔐 Админ-панель В чате с ботом: `/admin пароль` Админ видит все бронирования и может отменять любые. --- ## 🗄 Хранилище Данные хранятся в JSON-файлах в папке `data/`: - `users.json` — пользователи - `bookings.json` — бронирования Файлы создаются автоматически при первом запуске. --- ## 🤝 Разработка 1. Создаёшь ветку от `master` 2. Вносишь изменения 3. Открываешь Pull Request в `master` ```bash git checkout -b feat/my-feature # ... работа ... git push origin feat/my-feature ``` --- ## 📄 Лицензия MIT — делайте что хотите.