Умная система онлайн-записи на услуги
Прочный код, точное время, удобный сервис
SteelTime — это современный сервис для записи на услуги, который избавит от необходимости звонить, ждать ответа и вручную искать свободное время.
Проект объединяет надёжность стали и гибкость кода: прочная архитектура, понятный интерфейс, быстрая работа.
✅ Backend на FastAPI — быстрый и современный API-сервер
✅ JWT-авторизация — безопасный вход и защита данных
✅ Управление пользователями — регистрация, вход, профили
✅ Управление услугами — создание, редактирование, удаление
✅ Система записи — выбор услуги и времени, бронирование
✅ База данных — хранение всех данных с помощью SQLAlchemy
🔹 Веб-сайт — удобный интерфейс для записи через браузер
🔹 Telegram-бот — возможность просмотреть активные записи и возможно запись на услугу прямо из мессенджера
🔹 Уведомления — напоминания о предстоящих записях и новых записях для предпринимателей
- Python 3.10+
- FastAPI — веб-фреймворк для API
- SQLAlchemy — работа с базой данных
- JWT — авторизация и аутентификация
- Pydantic — валидация данных
- Docker - чтобы API одинаково работал везде без проблем с версиями Python, библиотеками и настройками окружения
SteelTime/
├── alembic/ # Миграции базы данных
│ ├── versions/ # Файлы миграций
│ └── __pycache__/
├── src/ # Исходный код
│ ├── domain/ # Доменный слой (бизнес-логика)
│ │ ├── db/ # Работа с БД (модели, репозитории)
│ │ ├── services/ # Доменные сервисы
│ │ └── __pycache__/
│ ├── infrastructure/ # Инфраструктурный слой
│ │ └── tasks/ # Фоновые задачи
│ ├── presentation/ # Слой представления (UI/API)
│ │ ├── api/ # FastAPI веб-API
│ │ │ ├── v1/ # API версия 1
│ │ │ │ ├── auth/ # Авторизация
│ │ │ │ ├── endpoints/ # API эндпоинты
│ │ │ │ └── __pycache__/
│ │ │ └── __pycache__/
│ │ ├── bot/ # Telegram бот
│ │ │ ├── core/ # Ядро бота
│ │ │ ├── handlers/ # Обработчики команд
│ │ │ ├── keyboards/ # Клавиатуры бота
│ │ │ └── __pycache__/
│ │ └── __pycache__/
│ ├── shared/ # Общие компоненты
│ │ ├── schemas/ # Pydantic схемы (DTO)
│ │ └── __pycache__/
│ └── __pycache__/
├── tests/ # Тесты
└── __pycache__/
git clone https://github.com/your-username/steeltime.git
cd steeltimepip install -r requirements.txtСоздайте файл .env в корне проекта:
DATABASE_URL=sqlite:///./steeltime.db
SECRET_KEY=your_secret_key_here
ALGORITHM=HS256
ACCESS_TOKEN_EXPIRE_MINUTES=30uvicorn src.main:appПерейдите по адресу: http://127.0.0.1:8000/docs
python -m src.presentation.bot.handlers.botcurl -X POST "http://127.0.0.1:8000/auth/register" \
-H "Content-Type: application/json" \
-d '{"email":"user@example.com","password":"securepass123","name":"Иван"}'curl -X GET "http://127.0.0.1:8000/services/"curl -X POST "http://127.0.0.1:8000/appointments/" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"service_id":1,"date":"2026-01-25","time":"14:00"}'- Единая база данных для всех каналов взаимодействия
- Масштабируемая архитектура — легко добавлять новые функции
- Безопасность — JWT-токены и проверка прав доступа
- Документация API — автоматически генерируется через Swagger
Проект распространяется под лицензией MIT. Подробности в файле LICENSE.
Если у вас есть вопросы или предложения — пишите!
GitHub: @Fl1riX