Данила Аринов

Junior Python-разработчик — FastAPI, PostgreSQL, Docker

+7 901 431-82-98 · teivrim@gmail.com · Telegram @Smishnyavko · github.com/TeivrimOriginal · Портфолио · LinkedIn

О себе

Python по заказам на Kwork — Telegram-боты, парсеры сайтов, REST API, интеграции внешних сервисов. Собираю сервисы на FastAPI с асинхронным SQLAlchemy 2.0 и PostgreSQL: миграции Alembic, полнотекстовый поиск на tsvector с индексом GIN, упаковка в Docker. Всё проверяется запуском, а не пересказом: 29 тестов anime-sync-api проходят и на PostgreSQL 16, и на SQLite, GIN-индекс создаётся миграцией; в TaskHub API 294 теста, 288 проходят против живой PostgreSQL 17.4, покрытие 90,2%, mypy strict и ruff — без ошибок. Ищу junior Python-стажировку или позицию, готов к тестовому заданию.

Опыт работы

Фриланс — заказы на Kwork Python · по заказам на Kwork
  • Telegram-боты, парсеры сайтов, REST API, интеграции внешних API, автоматизация по ТЗ заказчиков; kwork.ru/user/teivrim.
Инди-игра на Unity — команда с опытным разработчиком C# · Unity
  • Пишу код и геймдизайн вместе с опытным разработчиком, вёл подбор людей в проект. Хакатон HackIT: собрал прототип за выходные.

Проекты

anime-sync-api — REST API каталога аниме FastAPI · PostgreSQL · 2026
  • Асинхронный стек: FastAPI, SQLAlchemy 2.0 (async, asyncpg), Pydantic v2, httpx. Открытая документация из коробки, схемы запросов и ответов разделены.
  • Три таблицы с внешними ключами и CHECK-ограничениями; UNIQUE (source, external_id) — внешний id уникален в пределах источника, потому что у AniList и Jikan нумерация разная.
  • Полнотекстовый поиск на tsvector с индексом GIN по названию, оригинальному названию и жанрам. Выражение индекса и выражение запроса вынесены в одно место, чтобы они не разошлись.
  • Синхронизация с AniList (GraphQL) и Jikan (REST) на httpx: идемпотентный апсерт без дублей и журнал прогонов — недоступность внешнего API пишется в базу, а не роняет запрос.
  • Список с фильтрами, пагинацией и полнотекстовым поиском; пагинация ограничена сверху, чтобы нельзя было вытащить всю таблицу.
  • 29 автотестов, ruff чисто. CI гоняет один и тот же набор на PostgreSQL 16 (сервис-контейнер) и на SQLite; тест падает, если заявленный диалект не совпал с DATABASE_URL.
  • Dockerfile и docker-compose с PostgreSQL 16, миграции накатываются перед стартом. Сборку образа на этой машине не проверял — Docker не установлен.
github.com/TeivrimOriginal/anime-sync-api
practice-automation-tests — автотесты UI Python · Selenium 4.49 · Pytest 9.1 · Allure
  • 47 автотестов: 28 позитивных и 13 негативных на трёх страницах плюс 6 тестов формы обратной связи. Отчёты Allure, маркеры slow, Selenium Manager сам ставит драйверы.
github.com/TeivrimOriginal/practice-automation-tests
Anime DB — каталог из 3 публичных API Actix-Web · SQLite FTS5 · Docker
  • Переписал проект с Node.js на Actix-Web: агрегация AniList, Kitsu и Shikimori, ~20 тыс. записей, JSON API с фильтрами и пагинацией, полнотекстовый поиск, Android-клиент. 564 юнит-теста, CI: rustfmt, clippy -D warnings, cargo test.
github.com/TeivrimOriginal/TeivrimSite
Простая бухгалтерия — конфигурация 1С:Предприятие 8.3 BSL · 2026
  • 4 справочника, 3 документа с табличными частями, 3 регистра накопления «Остатки», регистр сведений. Движения при проведении, отмена проведения, контроль отрицательного остатка запросом к регистру. Плюс валидатор дампа на 425 проверок и CI.
github.com/TeivrimOriginal/1c-simple-accounting

Навыки

Python: FastAPI, SQLAlchemy 2.0 async, Pydantic v2, Pydantic Settings, httpx, asyncio, typing БД: PostgreSQL 16 (tsvector, GIN, CHECK, FK CASCADE, миграции Alembic), SQLite, SQL, индексирование API: REST, OpenAPI 3.1, CORS, фильтрация, пагинация, коды ответов, идемпотентный апсерт Тесты: pytest, pytest-asyncio, httpx ASGITransport, Allure, Selenium 4, Pytest, фикстуры и моки внешних API Инструменты: Docker, docker-compose, Git, GitHub Actions, ruff, Linux, MinGW / MSVC Смежное: Rust (Actix-Web), C++17, BSL, C# (Unity), Node.js

Дополнительно

Английский — чтение технической документации. Открытый код: 12 активных публичных репозиториев, лицензия MIT, у каждого проекта тесты и CI.

Скачать PDF
← Все резюме ← Вернуться на сайт