Цель данного проекта — разработка FastAPI-приложения, которое станет основой для будущего API чат-бота. Хотя сами конечные точки API будут относительно простыми, основное внимание в этом проекте уделяется настройке инфраструктуры, требующей навыков DevOps для обеспечения масштабируемости, безопасности и автоматизации.
Основные задачи
Контейнеризация и развертывание
• Настройка окружения:
o Настроить два отдельных окружения:
▪ Development/Staging: работает на порту 8000
▪ Production: работает на порту 443 (HTTPS)• Непрерывная интеграция и развертывание (CI/CD):
o Реализовать GitLab CI/CD pipeline для автоматизированного развертывания.
o Включить автоматизированные тесты в pipeline (привести как минимум один пример теста).
o Развернуть продакшн-экземпляр на виртуальной машине (VM) для обеспечения корректной реализации.База данных и безопасность
• Управление базой данных:
o Подключить оба окружения к базе данных PostgreSQL, работающей в виде Docker-сервиса.• Меры безопасности:
o Обеспечить безопасность продакшн-окружения, реализовав:
▪ NGINX в качестве обратного прокси/балансировщика нагрузки.
▪ HTTPS с использованием бесплатного SSL-сертификата (например, Certbot).Механизм кэширования (реализация с использованием Docker)
• Реализовать кэширование в рамках Docker-инфраструктуры для повышения производительности API.
• Использовать Redis в качестве слоя кэширования (или предложить лучший вариант, исходя из конкретного случая использования).Аутентификация и тестирование
• Аутентификация:
o Реализовать OAuth 2.0 с использованием Client Credentials Flow вместо традиционной аутентификации JWT.• Тестирование:
o Настроить набор модульных тестов, который будет запускаться в рамках CI/CD pipeline, чтобы обеспечить качество и надежность кода.Реализация API
• Соблюдение руководства по API:
o Следовать предоставленному руководству по API для корректной реализации необходимых конечных точек.• Проверка Swagger UI:
o Документация Swagger UI должна точно соответствовать ожидаемой документации API.
Проверка выполнения задания и оценка работы
Для проверки успешного выполнения этого задания нами будут проведены следующие тесты:
Развертывание и инфраструктура:
o Проверить, что приложение корректно развернуто на виртуальной машине (VM).
o Убедиться, что Docker-окружения настроены правильно для Development/Staging и Production.
o Проверить, что CI/CD pipeline правильно автоматизирует тестирование и развертывание.Безопасность и производительность:
o Подтвердить, что база данных PostgreSQL корректно интегрирована и работает в виде Docker-сервиса.
o Проверить, что обратный прокси/балансировщик нагрузки NGINX правильно настроен.
o Убедиться, что HTTPS активирован и защищён с помощью SSL-сертификата от Certbot.
o Протестировать функциональность кэширования с использованием Redis (или предложенного лучшего альтернативного варианта).Функциональность API и документация:
o Сравнить документацию Swagger UI с ожидаемой документацией API.
o Проверить, что все конечные точки работают в соответствии с описанием в руководстве по API.
o Провести интеграционные тесты для подтверждения корректной реализации аутентификации OAuth 2.0.Тестирование и качество кода:
o Запустить набор модульных тестов, чтобы убедиться, что они успешно выполняются в рамках CI/CD pipeline.
o Провести обзор качества и структуры кода для обеспечения соблюдения лучших практик.
Спасибо!
Прикрепляю документацию по API
Приложения 1
-
Рад приветствовать!
Я менеджер компании ДзенКод
Наша команда разработчиков готова помочь Вам разработать проект,
согласно Вашим требованиям.
В команде есть необходимая экспертиза и ресурсы.
Оценка бюджета проекта зависит от многих факторов и нуждается в дополнительной информации.
🟧 Готовы в чате обсудить проект и формат сотрудничества?
…
🟧 Мы используем две стратегии организации управления проектами- аутсорс и аутстафф
Работаем итерациями
Рейт от $18/час ( по курсу НБУ)
________________________________
С уважением, менеджер dZENcode.
-
8773 60 0 1 Добрый день. Готов выполнить.
Имею опыт разработки FastAPI приложений.
Пишу на Python, занимаю 2-е место на платформе.
Разработаю приложение, которое станет основой API чат-бота. Реализую весь необходимый функционал. Настрою окружение, непрерывную интеграцию и развертывание CI/CD. Реализую механизм кеширования(Docker). Обеспечу надежную защиту данных. Реализую OAuth 2.0. Проведу полное тестирование. Предоставлю необходимую документацию. Оптимизирую.
Мое портфолио:Freelancehunt
Пишите, обсудим детали и я приступлю к работе.
-
А документацию по API можно увидеть?
-
Актуальные фриланс-проекты в категории Python
Создание Тик-ток фермы с генерацией дохода
27 000 UAH
в поиске человека, который может написать софт, для фермы тик ток, чтобы мы смогли генерировать трафик, получать доход. Ищем готовое решение с полным циклом. Python, Разработка ботов ∙ 1 день 21 час назад ∙ 15 ставок |
AI Commenting Platform для TikTok и Instagram.Цель проекта Разработать систему, которая позволяет управлять большим количеством аккаунтов TikTok и Instagram и автоматически публиковать релевантные комментарии под выбранными видео с использованием ИИ. Основной функционал1. Управление аккаунтами Необходимо реализовать… AI и машинное обучение, Python ∙ 3 дня 5 часов назад ∙ 22 ставки |
Построить модель классификации клиентов1. Есть данные клиентов в Mongo/SQL (примерно 20 000 записей с сырыми данными). 2. Необходимо на их основе построить фичи и модель классификации клиентов на поведенческие группы. 3. Проект выполнить на Python. AI и машинное обучение, Python ∙ 4 дня 23 часа назад ∙ 43 ставки |
ИТ Автоматизация ведения VAT-отчетности
10 000 UAH
Необходимо разработать систему для автоматизации переноса данных о продажах из CRM в бухгалтерскую систему Wafeq. Система должна импортировать банковские и платежные отчеты, автоматически сверять платежи с инвойсами, формировать инвойсы для VAT-отчетности и минимизировать ручную… AI и машинное обучение, Python ∙ 5 дней 4 часа назад ∙ 51 ставка |
Инструмент сверки счетов с банком, картами и бухгалтеромТехническое задание: инструмент сверки счетов с банком, картами и бухгалтеромОбщая цель Нужен локальный инструмент (скрипт/небольшое приложение на Python), который запускается вручную раз в 1-2 месяца на моём компьютере и делает сверку между: Счетами, которые я выставил клиентам… Python, Десктопные приложения ∙ 5 дней 17 часов назад ∙ 43 ставки |