Skip to content

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

Notifications You must be signed in to change notification settings

MaxBakshaev/FastAPI-Learning

Repository files navigation

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

About

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

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published