Tables Booking API
Backend Case Study // 2026
Веб-приложение для онлайн-бронирования столиков в ресторанах. Система позволяет пользователям искать и бронировать места, а администраторам — управлять заведениями, графиком работы и бронированиями.
Tables Booking System — комплексное бэкенд-решение для автоматизации процессов бронирования в ресторанном бизнесе. Проект разработан в рамках командного взаимодействия, сфокусирован на асинхронной обработке данных и отказоустойчивости.
Инженерные решения
- Аутентификация: Многофакторный вход (email/телефон) и защита эндпоинтов на базе JWT-токенов.
- Управление транзакциями: Поиск доступных слотов в реальном времени, валидация и исключение пересекающихся интервалов при бронировании.
- Архитектура данных: Проектирование реляционной структуры (рестораны, залы, столы) и управление рабочими графиками заведений.
- Интеграции: Асинхронный сервис уведомлений с интеграцией Telegram API для мгновенного обновления статусов.
Технический стек и CI/CD
Приложение построено на высокопроизводительном асинхронном фреймворке FastAPI. Взаимодействие с PostgreSQL реализовано через асинхронный паттерн в SQLAlchemy, миграции контролируются с помощью Alembic. Инфраструктура полностью контейнеризирована через Docker / Docker Compose. Стабильность кодовой базы обеспечивается автоматическим запуском интеграционных тестов в Pytest в рамках настроенного пайплайна GitHub Actions (CI/CD).
Tech Infrastructure
Python 3.11
FastAPI
PostgreSQL
SQLAlchemy
Alembic
JWT
Docker
Pytest
GitHub Actions
Nginx
Gunicorn