Базовая структура проекта
project/ # git репозиторий
├── src/ # 📦 Исходный код приложения
│ ├── api/
│ │ └── v1/ # 🌐 API endpoints версии 1
│ │ └── user.py # Роутеры для работы с пользователями
│ │
│ ├── core/ # ⚙️ Ядро приложения
│ │ ├── config.py # Конфигурация (настройки, env vars)
│ │ └── logging.py # Настройка логирования
│ │
│ ├── db/ # 🗄️ Слой работы с БД
│ │ ├── connection.py # Соединения
│ │ └── schema.py # Схема базы данных (таблицы)
│ │
│ ├── models/ # 🧱 Модели данных
│ │ └── user.py # Pydantic модели и ORM схемы для User
│ │
│ ├── services/ # 🧠 Бизнес-логика
│ │ └── user_service.py # Сервис для операций с пользователями
│ │
│ └── main.py # 🚀 Точка входа FastAPI приложения
│
├── tests/ # 🧪 Тесты
│ ├── api/
│ │ └── v1/
│ │ └── test_user.py # Тесты API endpoints для User
│ │
│ └── test_db.py # Тесты для слоя базы данных
│
├── .env.example # 📝 Шаблон переменных окружения
├── .python-version # 🐍 Версия Python (для uv/pyenv)
├── Dockerfile # 🐳 Инструкции сборки Docker-образа
├── README.md # 📖 Документация проекта
├── docker-compose.yaml # 🐳 Конфигурация контейнеров
├── pyproject.toml # 📜 Зависимости и настройки проекта
└── uv.lock # 🔒 Зафиксированные версии пакетов (uv)Пути импортов прописываются, включая src как в самом проекте, так же и в тестах