Skip to content

Микросервис для бронирования столиков в ресторане с поддержкой временных слотов и проверкой конфликтов

Notifications You must be signed in to change notification settings

ykozhanov/Booking

Repository files navigation

🍽️ Booking Table API

Микросервис для бронирования столиков в ресторане с поддержкой временных слотов и проверкой конфликтов.

🚀 Особенности

  • Модульная архитектура
  • Поддержка асинхронных запросов
  • Валидация временных слотов бронирования
  • Конфликт-менеджер для пересекающихся броней
  • Подробное логирование в JSON и консоль
  • Готовый Docker-образ

📦 Технологии

Компонент Технологии
Бэкенд Python 3.13, FastAPI, SQLAlchemy 2.0
База данных PostgreSQL 17
Деплой Docker + docker-compose
Тестирование pytest

🛠 Установка

Требования

  • Docker 28+
  • Python 3.13+
  • PostgreSQL 17

Локальный запуск

# 1. Клонировать репозиторий
git clone https://github.com/ykozhanov/Booking.git

# 2. Запустить сервисы
docker-compose up -d

📚 API Документация

После запуска доступны:

Основные эндпоинты:

Столики:

GET /tables/ — список всех столиков
POST /tables/ — создать новый столик
DELETE /tables/{id} — удалить столик

Брони:

GET /reservations/ — список всех броней
POST /reservations/ — создать новую бронь
DELETE /reservations/{id} — удалить бронь

About

Микросервис для бронирования столиков в ресторане с поддержкой временных слотов и проверкой конфликтов

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published