Разработка на Python — удалённая работа в Москве
Дата: 2024-10-03
Детали
Регион
Москва
Занятость
дистанционно
Стоимость
договорная
Дата публикации
2024-10-03
Описание
Веб-разработка. Разработка с нуля. Описание проекта: Необходимо создать базовый сервис авторизации и управления профилем пользователя для внутренней экосистемы бизнес-инструментов. Сервис должен включать стандартные функции регистрации, авторизации и управления данными пользователя. Проект разрабатывается на Python с использованием фреймворка Flask (или FastAPI, если предложено обоснованное улучшение). Сервис будет выполнять две основные функции: Авторизация и регистрация пользователей. Управление профилем пользователя. На данном этапе планируется разработка только этих базовых функций в рамках MVP, с возможностью дальнейшего расширения и интеграции. Функциональные требования Регистрация и авторизация: Регистрация нового пользователя: принимает email, пароль, и выдает подтверждение. Активация email: отправка ссылки для подтверждения (через Mock или заглушку). Авторизация пользователя: логин по email и паролю с выдачей access_token и refresh_token (JWT). Выход из системы (logout): инвалидировать текущий токен сессии. Обновление access_token через refresh_token: для продления сессии. Управление профилем пользователя: Получение информации о пользователе: аватар, имя, email, номер телефона, адрес. Обновление профиля пользователя: изменение имени, аватара, номера телефона, адреса. Обновление пароля: изменение пароля по старому паролю или с помощью сброса. Сброс пароля: отправка ссылки на email для изменения пароля. Изменение email: изменение email с подтверждением нового адреса. Удаление аккаунта: полное удаление профиля с базы данных. CRUD-операции с профилем: Создание: регистрация и создание базового профиля. Чтение: получение информации о пользователе. Обновление: обновление любого поля в профиле (включая аватар и персональные данные). Удаление: деактивация или полное удаление профиля. Технические требования Язык программирования: Python. Фреймворк: Flask (предпочтительно) или FastAPI. База данных: PostgreSQL. ORM: SQLAlchemy (если используется Flask), иначе Pydantic + SQLModel. Токены и безопасность: JWT для access и refresh токенов. Хеширование паролей: библиотека bcrypt или argon2. Валидация данных: Pydantic или Marshmallow. Swagger-документация: авто-генерация документации по всем маршрутам API. Контейнеризация: приложение должно быть упаковано в Docker-контейнер (Dockerfile). Структура проекта: Маршруты и API Авторизация и регистрация: POST /auth/register — регистрация нового пользователя. POST /auth/login — авторизация пользователя и получение токенов. POST /auth/logout — выход из системы. POST /auth/refresh — обновление access-токена. POST /auth/password-reset — запрос на сброс пароля. POST /auth/password-change — изменение пароля с использованием токена. Профиль пользователя: GET /profile — получение профиля текущего пользователя. PUT /profile — обновление данных профиля (имя, номер телефона, аватар, адрес). DELETE /profile — удаление аккаунта пользователя. Дополнительные требования Тесты: Написать базовые тесты (unittest или pytest) для всех эндпоинтов (регистрация, авторизация, обновление профиля, удаление профиля). Логирование: Настроить логирование запросов и ошибок. Docker: Сервис должен запускаться в контейнере с доступом к базе данных PostgreSQL (можно использовать локальную БД или docker-compose). Swagger/OpenAPI: документация должна быть доступна по маршруту /docs. Критерии приёма Код проходит все базовые тесты. Все функции работают согласно ТЗ. Логирование ошибок и важных событий настроено. Доступна Swagger-документация. Приложение запускается через Docker без дополнительных настроек. Рекомендации по реализации Разделить код на модули (auth, profile, common), чтобы упростить будущие изменения. Избегать жестких связей между компонентами (использовать сервисы для логики). Протестировать приложение на уязвимости, особенно связанные с токенами и аутентификацией. Пишите нам: https://www.neonetdesign.ru/backend. 10000.
Похожие заказы
Разработка на Python
дистанционно
договорная
Excel. Разработка с нуля. Макрос должен получить список искомое значение- заменяемое значение,проходится по всем указанным папкам, и менять в данных папках во всех файлах ключ-значения.
Москва
Фрилансеры
2025-05-04
Разработка на Flask
дистанционно
договорная
Сайт клиники с базовым функционалом: вход/регистрация пользователей, личный кабинет, онлайн-запись, форма обратной связи.
Москва
Фрилансеры
2025-05-04
Разработка на Python
дистанционно
договорная
Разработка приложений для ПК. Доработка существующего продукта, разработка с нуля.
Иркутск
Фрилансеры
2025-05-04
Разработка на Python
дистанционно
договорная
• Настроить SIP-телефонию. Разработка с нуля. • Настроить SIP-телефонию через Zadarma для звонков на российские номера. • Реализовать скрипт звонка на Python: • Воспроизведение приветственного сообщения (TTS). • Запись ответа пользователя. • Определение активности объявления ("Да/Нет"). • Обработка ошибок (недоступность номера, сбои связи).
Москва
Фрилансеры
2025-05-03
Разработка на Python
дистанционно
договорная
Веб-разработка. Доработка существующего продукта, настройка, Перевести проект с Flask на Gunicorn. Пожелания и особенности: Перевести запуск Flask-приложения на Gunicorn (подготовка к продакшену) Имеется pet-проект, разворачиваемый через Docker Compose на одном сервере в двух окружениях — DEV и PROD. Проект состоит из нескольких компонентов: веб-приложение на Flask, Redis, Soundly и PostgreSQL. Сборка и деплой осуществляются с помощью раннера на отдельном сервере — после пуша в репозиторий собираются Docker-образы и разворачиваются на DEV-окружении. На текущий момент веб-приложение запускается напрямую через Python. В рамках подготовки к продакшену требуется перевести его запуск на Gunicorn с интеграцией в уже настроенный Nginx. На первом этапе нужно обеспечить стабильный запуск Flask-приложения через Gunicorn (без поддержки hot reload). Gunicorn должен быть настроен на использование 3 воркеров для каждого окружения (DEV и PROD). Необходимо также настроить: • Логирование: перенаправить access- и error-логи Gunicorn в stdout/stderr для просмотра через docker logs и возможности дальнейшей интеграции с внешними системами логирования. • Автоматический перезапуск контейнера при сбоях, используя Docker-флаг restart: always. • Внутренний контроль Gunicorn за воркерами, включая перезапуск зависших или перегруженных воркеров через параметры (--max-requests, --timeout и др.). Также потребуется внести изменения в Dockerfile и docker-compose.yml, протестировать всё на DEV-окружении и удостовериться, что запуск и логирование работают корректно.
Москва
Фрилансеры
2025-05-02
Разработка на Python
дистанционно
договорная
Веб-разработка. Доработка существующего продукта. Добавить страницы к существующему сайту. Всего однотипных станиц +- 20 шт.
Санкт-Петербург
Фрилансеры
2025-05-02
Разработка на Python
дистанционно
договорная
Веб-разработка. Доработка существующего продукта. Создать интеллектуальный чат-бот для сайта интернет-магазина, который помогает пользователям подобрать товары, отвечая на вопросы в свободной форме. Он работает через готовый веб-интерфейс (Chatbot UI встраивается как JS в HTML), подключён к FastAPI-серверу на LangChain, использует LLM (YandexGPT и GigaChat с fallback) и может обращаться к базе магазина для поиска подходящих товаров. Бот ведёт диалог с памятью и сохраняет аналитику всех запросов. Этапы: Разработка Backend на Python Настройка Chatbot UI на сайте Тестирование и настройка промта для релевантной выборки товаров.
Москва
Фрилансеры
2025-05-01