Контакты:
- Telegram: @Dmitry_Nomad
- Gmail: dmitriy.d2023@gmail.com
Репозиторий: https://gitlab.com/myproject9821008
API коллекция: https://api-publisher.crabdance.com/
Методичен, последователен, люблю разбираться в деталях, декомпозировать на простое и разрабатывать сложное. Хорошо справляюсь с долгосрочными проектами. Быстро ищу информацию, проактивен. В решении сложных задач довольно упрям, делаю пока не сделается.
Придерживаюсь PEP8, чистой архитектуры, где это возможно и стараюсь автоматизировать рутину.
Одинаково хорошо работаю как в команде, так и самостоятельно. Не конфликтен, люблю конструктивное общение – коротко и по делу. Ранее доводилось работать как в составе небольших команд, так и организовывать их работу.
В настоящее время специализируюсь на разработке серверной части приложений. Использую Python > 3.10 и PostgreSQL в качестве БД. Из фреймворков FastAPI, реже Django. FastAPI люблю больше из-за легковесности и большей свободы действий. Конечная стадия моей работы - готовый REST API с документацией. Из БД использую PostgreSQL и Redis, в основном использую ORM. Чистый SQL могу использовать для оптимизации запросов. GIT использую на всех проектах без исключения. Есть опыт работы с RabbitMQ и Redis. Среда разработки - Pycharm.
▶ Разработка и поддержка серверной части приложений на основе FastAPI, Django.
▶ Разработка и поддержка Телеграм ботов.
▶ Парсинг данных html страниц и мессенджера Telegram.
▶ Рефакторинг и оптимизация кода.
Участвовал в проектах:
⚫ Агрегатор сообщений с настройкой выдачи, на базе Telegram
🔍 Сервис организует пересылку сообщений из разных источников в ленту пользователя с возможностью выбора и детальной настройки источников.
🔨 Python, asyncio, pydantic, GIT, telethon.
• Разработал гибкий бэкенд бота доставщика, позволяющий быстро менять содержимое и состав интерфейса под нужды проекта.
• Реализовал механики: пагинацию списков, полнотекстовый поиск, систему состояний без использования внешних хранилищ, проверку подписки на канал и т.д.
• Добавил локализацию интерфейса.
• Реализовал асинхронную систему очередей сообщений с поддержкой приоритезации, в рамках ограничений Telegram.
• Разработал парсер пользователей мессенджера по открытым и закрытым источникам под нужды проекта.
⚫ Конструктор интерактивной документации:
🔍 Сервис позволяет создавать адаптивные параметризированные анкеты для генерации юридической документации. В основе лежит ациклический граф с управляющими узлами разных типов и функционала.
🔨 Python, asyncio, pydantic, pytest, GIT, FastAPI, PostgreSQL, SQLAlchemy, Alembic.
• Разработал общую архитектуру проекта, распределил роли между клиентской и серверной частью, определил механики для реализации требуемого функционала, предложил к реализации фичи, улучшающие юзабилити.
• Спроектировал структуру данных.
• Разработал ядро проекта на основе ациклического графа и адаптеры для БД PostgreSQL.
• Реализовал гибкую систему авторизации и аутентификации на основе сессий и JWT токенов.
• Спроектировал и реализовал REST API сервиса, составил документацию средствами Swagger.
• Интегрировал конвертер файлов html <-> docx.
• Развернул инфраструктуру проекта средствами Docker, настроил Nginx сервер, CORS заголовки, SSL сертификат, https протокол.
• Покрыл unit тестами критический функционал сервиса.
• Развернул и настроил админ панель.
Тестовый стенд проекта: http://f0880989.xsph.ru/
Пример API документации: https://api-publisher.crabdance.com/swagger/contract-constructor
⚫ Сервис планирования индивидуальных закупок:
🔍 Сервис предоставляет функционал для составления индивидуального расписания готовки из различных блюд и позволяет сформировать заказ продуктов на основе этого расписания. Имеется каталог рецептов, модуль планирования готовки, а также возможность составить список ингредиентов в унифицированной форме: наименование продукта, кол-во, единицы, данные пользователя и т.д.
🔨 Python, requests, lxml, GIT, Django DRF, PostgreSQL, SQLAlchemy, Alembic.
• Разработал backend сервиса на основе Django DRF и MVC архитектуры.
• Разработал API и документацию.
• Интегрировал админ панель с функцией массового импорта рецептов.
• Предложил и реализовал механики социальных активностей в галерее рецептов - лайки/дизлайки, избранное т.д.
• Предложил и реализовал механику шаблонов пользовательских расписаний готовки.
• Реализовал гибкую механику генерации списка покупок из индивидуального расписания готовки.
• Разработал html парсер и собрал данные для первичного наполнения проекта контентом.
• Разработал модуль нормализации данных для унификации единиц измерения в рецептах в соответствии с требованиями.
• Развернул инфраструктуру проекта средствами Docker, настроил Nginx сервер.
Пример API документации: https://api-publisher.crabdance.com/swagger/grocery-cart-planner
⚫ Игровой Телеграм бот:
🔍 Простой игровой сервис для свиданий, основанный на случайной выдаче авторских вопросов в разных категориях.
🔨 Python, asyncio, pydantic, telethon, GIT, FastAPI, SQLite, SQLAlchemy, Alembic.
• Разработал бэкенд бота, развернул инфраструктуру на сервере, настроил бэкапы БД.
• Разработал веб админ панель для поддержки и обновления контента.
• Разработал админ интерфейс Телеграм бота с поддержкой базовых процедур управления контентом и оплатами клиентов.
• Интегрировал платежный сервис Payok.
• Составил подробное руководство пользователя.
Бот: https://t.me/Alchemy_of_love_bot
Стек технологий:
- Python, pydantic, pytest, asyncio, requests
- Django, Fastapi, aiogram, Telethon
- PostgreSQL, SQLite, Redis, RabbitMQ
- SQL, SQLAlchemy, Django ORM, Alembic
- Docker, docker compose
- Swagger
- git, GitLab
▶ Разработка и поддержка бэкенда сервиса на основе Django.
▶ Рефакторинг и оптимизация кода.
🔍 Участвовал в разработке проекта по автоматизации выращивания сельхоз продукции.
🔨 Python, Django DRF, requests, SQL, pytest, PostgreSQL, Docker, GIT, Gitlab
• Разработал бэкенд микросервиса, управляющего циклом выращивания тепличных культур.
• Разработал API сервиса и документацию к нему.
• Реализовал гибкую систему расчета компонентов производства на основе материалов заказчика.
• Разработал систему обратной связи микросервиса на основе технологических ивентов, с использованием http протокола и webhook.
• Интегрировал микросервис в проект, настроил коммуникацию с сервисами логистики и обслуживания через http API.
• Автоматизировал генерацию метрик и отчетности микросервиса.
• Покрыл unit тестами ключевой функционал приложения.
Дизайн жилой среды. Проектирование обитаемых пространств.