FastAPI + PostgreSQL (UUID v7) + Docker

Python 11 154 UAH
Робота 6 з 13
Високопродуктивне та архітектурно чистемREST API ядро, спроєктоване за принципами Clean Architecture. Проєкт повністю контейнеризований та оптимізований для миттєвого локального розгортання або продакшен-деплою. Цей шаблон розроблений як універсальний Enterprise-фундамент (User Management System) для кастомних CRM, маркетплейсів, мобільних бекендів та SaaS-платформ, що виключає необхідність писати базову логіку з нуля.

Архітектурні особливості та технології

1. Clean Architecture: Чіткий розподіл відповідальності. Бізнес-моделі SQLAlchemy винесені в корінь бекенду, CRUD-логіка ізольована в паттерні Repository, а валідація даних покладена на схеми Pydantic v2. Це виключає кашу в коді та спрощує масштабування.

#Python #FastApi #Docker #Docker-compose #OAuth2

2. Безпека на UUID v7: Усі сутності в базі даних використовують сучасні, упорядковані за часом ідентифікатори UUID v7. Це захищає систему від перебору інкрементних ID (1, 2, 3), приховує реальний обсяг даних від конкурентів та прискорює індексацію в PostgreSQL порівняно зі старими UUID v4.

3. Просунута рольова модель доступу: Реалізовано жорстке розмежування прав (Адміністратор / Автор / Користувач) через залежності FastAPI. Захист роутів працює на рівні авторизації JWT Bearer.

4. Автоматизація розгортання (CI/CD Ready): Вбудований контейнерний скрипт автоматизує деплой. При старті контейнера Docker самостійно контролює доступність PostgreSQL, автоматично накатує покрокові міграції Alembic та запускає скрипт сіду бази даних для автоматичного створення або оновлення прав суперадміна.

5. Нативна специфікація API: Документація Swagger UI та ReDoc генерується автоматично на основі типів Python та схем Pydantic. Шляхи REST-ендпоінтів забезпечують безконфліктну генерацію фронтенд-типів через Orval/OpenAPI-codegen.

6. Оптимізація запитів (N+1 Fixed): Усі пов'язані сутності викачуються через жадібне завантаження (joinedload) на рівні репозиторіїв. Це знижує навантаження на СУБД, усуває помилки detached instance при роботі мультипроцесних воркерів Uvicorn на проді та скорочує час відповіді API.

Доступна специфікація ендпоінтів