WoodTechRetail-IT / fastapi_course

Вводный курс по фреймворку FastAPI на YouTube

Home Page:https://youtube.com/playlist?list=PLeLN0qH0-mCVQKZ8-W1LhxDcVlWtTALCS

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Курс по FastAPI от Артёма Шумейко

Ссылка на курс

Данный текст будет обновляться по мере выхода роликов. На текущий момент планируется создание веб-приложения для трекинга своего портфеля в Тинькофф Инвестициях.

Библиотеки, планирующиеся к использованию: alembic, sqlalchemy, fastapi-users, fastapi-cache, celery, redis, jinja.

Технологии: аутентификация пользователей (fastapi-users), кэширование запросов (redis), отложенные задачи (celery + redis), тестирование (pytest).

Фронтенд: react (в этом курсе не разбирается).

Список уроков

  1. Зачем учить FastAPI
  2. Установка и запуск
  3. Эндпоинты, Параметры Пути и Запроса
  4. Валидация данных с Pydantic
  5. Базы данных и миграции Alembic
  6. Регистрация и Авторизация Пользователей
  7. Роутеры и Файловая Структура
  8. Проектирование REST API
  9. Кэширование через redis
  10. Фоновые задачи с Celery, Redis и Flower
  11. Тестирование API с pytest и pytest-asyncio
  12. Связываем Фронт и Бэк: CORS и Middleware
  13. Верстка с Jinja. Как украсить API
  14. Вебсокеты (онлайн-чат)
  15. Depends зависимости
  16. Docker и Docker Compose

Инструкция

Для локального тестирования необходимо создать виртуальное окружение командой python3 -m venv venv и активировать его. Команда venv\Scripts\activate.bat - для Windows; source venv/bin/activate - для Linux и MacOS.

Затем необходимо перейти в папку с нужным уроком и установить зависимости командой pip install -r requirements.txt.

Затем необходимо перейти в папку src командой cd src и запустить команду uvicorn main:app --reload для запуска сервера uvicorn.

После этого можно зайти в браузере по адресу http://localhost:8000/docs для просмотра доступных эндпоинтов.

About

Вводный курс по фреймворку FastAPI на YouTube

https://youtube.com/playlist?list=PLeLN0qH0-mCVQKZ8-W1LhxDcVlWtTALCS


Languages

Language:Python 90.0%Language:HTML 5.8%Language:Mako 2.6%Language:Shell 1.5%Language:Dockerfile 0.2%