Skip to content

SteelTime — это современный сервис для записи на услуги, который избавит от необходимости звонить, ждать ответа и вручную искать свободное время. Проект объединяет надёжность и гибкость кода: прочная архитектура, понятный интерфейс, быстрая работа.

License

Notifications You must be signed in to change notification settings

Fl1riX/SteelTime

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⚙️ SteelTime

Умная система онлайн-записи на услуги
Прочный код, точное время, удобный сервис


🎯 О проекте

SteelTime — это современный сервис для записи на услуги, который избавит от необходимости звонить, ждать ответа и вручную искать свободное время.

Проект объединяет надёжность стали и гибкость кода: прочная архитектура, понятный интерфейс, быстрая работа.


🚀 Что уже реализовано

Backend на FastAPI — быстрый и современный API-сервер
JWT-авторизация — безопасный вход и защита данных
Управление пользователями — регистрация, вход, профили
Управление услугами — создание, редактирование, удаление
Система записи — выбор услуги и времени, бронирование
База данных — хранение всех данных с помощью SQLAlchemy


🔮 Что будет дальше

🔹 Веб-сайт — удобный интерфейс для записи через браузер
🔹 Telegram-бот — возможность просмотреть активные записи и возможно запись на услугу прямо из мессенджера
🔹 Уведомления — напоминания о предстоящих записях и новых записях для предпринимателей


🛠️ Технологии

  • Python 3.10+
  • FastAPI — веб-фреймворк для API
  • SQLAlchemy — работа с базой данных
  • JWT — авторизация и аутентификация
  • Pydantic — валидация данных

📂 Структура проекта

SteelTime/
├── main.py                    # Точка входа в приложение
├── config.py                  # Конфигурация проекта
├── logger.py                  # Логирование
├── limiter.py                 # Ограничение запросов
│
├── auth/                      # Модуль авторизации
│   ├── auth.py
│   ├── dependencies.py
│   └── jwt_handler.py
│
├── routes/                    # API эндпоинты
│   ├── users.py
│   ├── services.py
│   └── appointments.py
│
├── schemas/                   # Pydantic-схемы
│   ├── user_schema.py
│   ├── service_schema.py
│   └── appointment_schema.py
│
└── services/                  # Бизнес-логика
    ├── user_service.py
    ├── service_service.py
    └── appointments_service.py

⚡ Быстрый старт

1. Клонируйте репозиторий

git clone https://github.com/your-username/steeltime.git
cd steeltime

2. Установите зависимости

pip install -r requirements.txt

3. Настройте переменные окружения

Создайте файл .env в корне проекта:

DATABASE_URL=sqlite:///./steeltime.db
SECRET_KEY=your_secret_key_here
ALGORITHM=HS256
ACCESS_TOKEN_EXPIRE_MINUTES=30

4. Запустите сервер

uvicorn src.main:app --reload

5. Откройте документацию API

Перейдите по адресу: http://127.0.0.1:8000/docs


📖 Примеры использования

Регистрация пользователя

curl -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: @your-username
Email: contact@steeltime.ru


Сделано с ❤️ и ☕

About

SteelTime — это современный сервис для записи на услуги, который избавит от необходимости звонить, ждать ответа и вручную искать свободное время. Проект объединяет надёжность и гибкость кода: прочная архитектура, понятный интерфейс, быстрая работа.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published