GitHunt
MA

MaxBakshaev/FastAPI-Learning

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

FastAPI Learning Project

Учебный проект на FastAPI с использованием асинхронной SQLAlchemy 2.0 ORM.
Демонстрирует создание REST API с полной работой с базой данных:
пользователи, посты, товары, заказы, и отношения многие-ко-многим через ассоциации.

Функциональность:

📐 Аннотация типов и валидация данных

🗃️ Асинхронные запросы к БД с SQLAlchemy 2.0

📦 API для работы с товарами

💬 Работа с пользователями, постами, профилем, заказами

📄 Alembic миграции

🔁 Отношения один-к-одному (Пользователь ↔ Профиль), один-ко-многим (Пользователь ↔ Посты),
многие-ко-многим (Заказ ↔ Товары)

📝 Автоматическая документация

В разработке:

🗝️ JWT-аутентификация

🐳 Docker/Docker Compose

✅ Тестирование

📊 Фильтрация и пагинация

🖥️ Админ-панель или графический UI

Установка и запуск:

  1. Клонируйте репозиторий и перейдите в рабочую директорию проекта:
git clone https://github.com/MaxBakshaev/FastAPI-Learning.git
cd FastAPI-Learning
  1. Создайте виртуальную среду:
python -m venv venv
  1. Активируйте виртуальную среду:

Для Linux или macOS:

source venv/bin/activate

Для Windows:

venv\Scripts\activate
  1. Установите зависимости:
pip install -r requirements.txt
  1. Запустите сервер:
uvicorn main:app --reload

Для отключения сервера используйте команду:

Ctrl + C
  1. Перейдите по адресу http://127.0.0.1:8000/ для доступа к сайту

  2. Перейдите по адресу http://127.0.0.1:8000/docs для доступа к Swagger UI

  3. Перейдите по адресу http://127.0.0.1:8000/redoc для доступа к Redoc

Languages

Python98.3%Mako1.7%

Contributors

Created August 13, 2025
Updated August 25, 2025