pip install -r requirements.txt
Варианты реализации концепта DTO
Пример реализации трехслойной структуры приложения
Пример реализации авторизации с использованием jwt-токенов и fastapi
Запуск:
- Установить WorkingDirectory в папку
- Пометить папкe lesson2 как source root
- Скопироать .env.example с именем .env
- Выполнить команду
uvicorn app.main:app --reload
Проект с которым работаем в третьем уроке - повторяет проект из первого урока но с той разницей, что в данном случае будет реальная работа с базой данных MongoDB В данном проекте решается задача реализации записи и логика по заранее составленному упрощенному описанию
Решение проходит в два этапа:
- Апи версии 1 реализует только без непосредственной реализации внутренней логики
- Апи версии 2 повторяет апи первой версии но уже с бизнес-логикой
Это тренировка работы над проектом в понедельник где в начале будет задача реализовать апи в фастапи на основе описания с которым сможет работать фронтенд И далее реализовать низлежащую бизнес логику чтобы иметь возможность параллельно вести разработку зада и переда приложения
- Перейти в папку lesson3 и выполнить установку зависимостей
cd lesson3; pip install -r requirements.txt
- убрать отметку SourcesRoot с папки lesson2 и добавить её на lesson3
- Создать новую конфигурацию для запуска приложения lesson3 по аналогии с lesson2 но со ссылками на новую папку
- Запусить вебсервер командой в pycharm, перейти в сваггер, авторизоваться (testuser|demopassword) и запросить методы v1/create_order v1/orders_list
Запуск MongoDB
- Установить docker docker:
- WIN https://docs.docker.com/desktop/install/windows-install/
- LINUX https://docs.docker.com/engine/install/ubuntu/
- MAC https://docs.docker.com/desktop/install/mac-install/
- Запустить контейнер с локально базой MongoDB находясь в папке lesson3
docker compose up
или
docker-compose up
Работа ведется в папке lesson3 так как тесты добавляются в уже готовое приложение прошлого урока
- Повторно установить зависимости
pip install -r requirements.txt
- Добавить конфигурацию для запуска тестов и настроить запуск по аналогии со скриншотом
- Запустить
- Вы увидите в новом окне список пройденных тестов, среди них один с ошибкой
- Перейдите в папку lession5 и установите зависимости
pip install -r requirements.txt
- Запустите три сервиса в разных терминалах (или коммандах)
uvicorn order_service:app --port=8000
uvicorn price_service:app --port=8001
uvicorn discounts_service:app --port=8002
3. Перейдите в интерфейс и попрубуйте выполнить запрос http://localhost:8000/docs#/default/create_order_create_order_post
4. В грейлоге найдите запрос который сделали вы http://5.63.159.74:16686/