Files
demo_spa_bot/README.md
T

125 lines
4.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 💆 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)
```
---
## 🛠 Установка и запуск
```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 | настраивается |
| `SERVICES` | Словарь услуг | массаж, SPA, косметология |
| `MASTERS` | Словарь мастеров | Анна, Мария, Алексей |
| `TIME_SLOTS` | Доступное время | 09:0018: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 — делайте что хотите.