Специалисты
Криптобиржа (под NDA)
Роль: Backend-разработчик Криптовалютная биржа, ориентированная на исламские финансовые принципы. Основная цель проекта — предоставить пользователям возможность торговать криптовалютами, соблюдая нормы шариата (например, отсутствие спекулятивных сделок, запрещенных активов и начисления процентов). Задачи: - Разработка и оптимизация серверной части криптобиржи. - Реализация API для трейдинга и управления активами. - Интеграция с внешними сервисами (платежные системы, кошельки). - Оптимизация производительности системы для работы с большими объемами данных. - Настройка и поддержка WebSocket-соединений для стриминга рыночных данных и уведомлений. - Разработка и документирование API для фронтенда и сторонних сервисов (Swagger, OpenAPI). - Поддержка функционала лидербордов, учета профита и убытков пользователей. - Автоматизация процессов обновления данных о торговых парах и комиссиях. Состав команды: - Backend-разработчики: 3 - Frontend-разработчики: 3 - TeamLead: 1 - QA: 2 - Project Manager: 1 - DevOps: 1 Расширенные задачи и подробности: 1. Разработка и оптимизация серверной части криптобиржи: - Проектирование и разработка архитектуры серверной части. - Оптимизация запросов к базе данных, кэширование данных. - Масштабирование системы и обеспечение отказоустойчивости. 2. Реализация API для трейдинга и управления активами: - Разработка RESTful API для трейдинговых операций. - Обеспечение безопасности API (аутентификация, защита от атак). 3. Интеграция с внешними сервисами: - Интеграция с платежными системами и криптокошельками. - Обработка callback-ов от внешних сервисов. 4. Оптимизация производительности системы: - Реализовал и оптимизировал взаимодействие между микросервисами с использованием RabbitMQ (Kafka): разработал очереди и обработчики для асинхронной обработки данных, обеспечив масштабируемость и отказоустойчивость системы при высоких нагрузках. - Оптимизация работы с большими объемами данных. 5. Настройка и поддержка WebSocket-соединений: - Разработка WebSocket-сервера для стриминга данных. - Оптимизация соединений для минимизации задержек. 6. Разработка и документирование API: - Создание документации API (Swagger, OpenAPI). - Реализация версионности API. 7. Поддержка лидербордов, учета профита и убытков: - Реализация механизмов расчета PnL. - Разработка и оптимизация лидербордов. 8. Автоматизация процессов обновления данных: - Обновление списка торговых пар и комиссий. - Интеграция с внешними источниками данных. Достижения: 1. Разработана и оптимизирована серверная часть криптобиржи. 2. Реализовано API для трейдинга и управления активами. 3. Интегрированы платежные системы и криптокошельки. 4. Оптимизирована работа с большими объемами данных. 5. Настроены WebSocket-соединения для стриминга данных. 6. Создана и задокументирована API-документация. 7. Реализованы лидерборды и расчет профита/убытков пользователей. 8. Автоматизировано обновление данных о торговых парах и комиссиях. 9. Обеспечена безопасность системы. 10. Настроены мониторинг и логирование системы.
Node.js, Nest.js, PostgreSQL, WebSocket, TypeScript, Swagger, TypeORM, mp2, Kubernetes, RabbitMQ
9 месяцев [07.2024 - 03.2025] месяцев
Платформа для управления криптовалютным портфелем
Микросервис (уведомления): Go, Gin, gRPC, Redis, Docker Роль: Backend-разработчик Платформа создана для управления криптовалютными кошельками: она позволяет следить за балансами, транзакциями и изменениями цен, а также получать уведомления о важных событиях, таких как крупные переводы или скачки курсов. Изначально всё работало как единое приложение на Node.js, но с ростом числа пользователей отправка уведомлений начала замедлять систему. Чтобы решить эту проблему, уведомления выделили в отдельный микросервис на Go, что сделало платформу быстрее и надёжнее. Задачи: - Поддержка и развитие основного приложения (монолита). - Выделение уведомлений в отдельный микросервис. - Настройка инфраструктуры для взаимодействия сервисов. - Тестирование и обеспечение стабильной работы. Достижения: - Настроили WebSocket для обновления цен и другой информации в реальном времени. - Провел анализ производительности и выявили, что уведомления создают основную нагрузку. - Разработали сервис на Go, который отвечает только за уведомления. - Использовали gRPC для быстрого взаимодействия с основным приложением. - Интегрировали внешние сервисы: SendGrid для писем и Firebase для пуш-уведомлений. - Добавили Redis для асинхронной обработки уведомлений и управления очередями. - Перенес логику уведомлений с Node.js на Go, сохранив все функции. - Уменьшили нагрузку на основное приложение на 30%, что ускорило его работу. - Сократили время доставки уведомлений с 2 секунд до 0,5 секунды — в 4 раза быстрее. - Сделали систему гибкой: новые типы уведомлений можно добавлять без изменений в монолите. Состав команды: - Backend-разработчики: 3 - Frontend-разработчик: 2 - TeamLead: 1 - QA: 1
Монолит: Node.js, Express, PostgreSQL, WebSocket, Jest, E2E, TypeScript, Sequelize
4 месяца [03.2024 - 06.2024] месяцев
FSM/CRM для пивоваренной компании (под NDA)
Роль: Backend-разработчик Web-приложение FSM/CRM для пивоваренной компании. Предоставляет бизнес логику для работы внутри компании и предоставления следующих функций: управлять мастер-данными; консолидировать в своей базе заказы из разных источников; управлять движением торгового оборудования в полях и на складах; создавать промо-активности и контрактные условия, с дальнейшей их трансляцией в заказ; создавать анкеты и срезы цен; формировать оперативную отчетность. Задачи: - Оптимизация существующего кода и базы данных. - Разработка новой функциональности для управления заказами и промо-активностями. - Работа с интеграциями и внешними сервисами. - Оптимизация SQL-запросов для повышения производительности работы с MS SQL. - Реализация аудита изменений данных и логирования действий пользователей. - Написание документации для API и бизнес-логики. Состав команды: - Backend-разработчики: 7 - Frontend-разработчики: 3 - TeamLead: 1 - QA: 3 - Project Manager: 1 - Аналитик: 1 - DevOps: 1
Node.js, Nest.js, MS SQL, pm2, Rest API, TypeScript, TypeORM, RabbitMQ
5 месяцев [11.2023 - 03.2024] месяцев
ПО для ЖД состава (под NDA)
Роль: Ведущий Backend-разработчик Сервис представляет из себя ПО, работающее на ЖД составе. Предоставляет бизнес логику для работы приложения проводников на составе и начальника поезда: работа с пассажирами и багажом, управление проводниками, работа с рейсами, получение различной статистики по вагонам/поезду/рейсу. Задачи: - Разработка системы с нуля для управления поездами и проводниками. - Реализация бизнес-логики для работы с пассажирами, багажом и рейсами. - Покрытие кода тестами (Mocha, Chai). - Оптимизация производительности системы. - Реализация WebSocket-соединения для обновления данных о пассажирах и рейсах в реальном времени. - Разработка механизма офлайн-работы с последующей синхронизацией данных при подключении к сети. - Оптимизация работы с SQLite для повышения скорости обработки запросов в условиях ограниченных ресурсов. - Написание документации для API и бизнес-процессов. Состав команды: - Backend-разработчики: 2 - Frontend-разработчики: 1 - Mobile-разработчики: 1 - TeamLead: 1 - QA: 1 - Project Manager: 1 - Аналитик + архитектор: 1
Node.js, Express, SQLite, Sequelize, Jest, WebSocket, Mocha, Chai, Jenkins
5 месяцев [05.2023 - 09.2023] месяцев
Сервис заказа косметических товаров (под NDA)
Роль: Ведущий Backend-разработчик Сервис с мобильным приложением и панелью администратора для заказа косметических товаров оптом. Возможность поделиться списком товаров со специалистами, получить их рекомендации и советы. Интеграция с 1С. Задачи: - Разработка проекта с нуля, включая архитектуру БД и бизнес-логики. - Интеграция с 1С для синхронизации данных. - Разработка и и рефакторинг структуры БД. - Ведение разработки по методологии Scrum. - Оптимизация производительности системы. - Реализация механизма уведомлений для пользователей через Emailn(Nodemailer) и push-уведомления. - Разработка системы ролевого доступа для администраторов, специалистов и оптовых клиентов. - Написание документации для API и интеграций. Состав команды: - Backend-разработчики: 1 - Frontend-разработчики: 2 - Mobile-разработчики: 1 - TeamLead: 1 - QA: 1 - Project Manager: 1
Nest.js, PostgreSQL, Rest API, TypeScript, Swagger, Nodemailer, pm2
1 год [05.2022 - 05.2023] месяцев
Платформа для оценки навыков разработчиков
Роль: Backend-разработчик Данное приложение позволяло разработчикам отслеживать свою карту навыков, следить за актуальным темами в технологиях. Помимо этого система позволяет проводить тестирования и оценивать навыки разработчиков, а также актуализировать вопросы и темы в технологиях, благодаря чему разработчики могут лучше подготовиться к интервью и будут в курсе актуальных технологий. Задачи: - Разработка API для тестирования навыков разработчиков. - Оптимизация базы данных и кода для повышения производительности. - Проектирование архитектуры системы. - Рефакторинг кода и структуры базы данных. - Ведение Scrum-митингов и оценка задач. - Написание документации для API и бизнес-логики. Состав команды: - Backend-разработчики: 2 - Frontend-разработчики: 4 - TeamLead: 1 - QA: 1 - Project Manager: 1
Nest.js, PostgreSQL, Rest API, TypeScript, Swagger
9 месяцев [08.2021 - 05.2022] месяцев
Онлайн-заказ еды
Роль: Ведущий Backend-разработчик Приложение для заказа еды онлайн в офисы. Приложение позволяло просто и быстро зарегистрироваться, заказать еду, просмотреть историю заказов. Задачи: - Разработка ключевого функционала для заказа еды (регистрация, заказ, история заказов). - Улучшение безопасности системы (авторизация, валидация данных). - Написание технической документации с использованием Swagger. - Оптимизация кода и базы данных для повышения производительности. - Ведение Scrum-митингов и оценка задач. Состав команды: - Backend-разработчики: 1 - Frontend-разработчики: 3 - TeamLead: 1 - QA: 1 (внештатный)
Nest.js, PostgreSQL, Rest API, Nodemailer, TypeScript, Swagger
1 год 6 месяцев [02.2020 - 08.2021] месяцев
Внутреннее социальное приложение (под NDA)
Роль: Backend-разработчик Внутреннее социальное приложение для компании. Приложение было построено как социальная сеть, где публиковались новости компании, были доступны чаты для общения, профили пользователей, посты с комментариями и т.д. Задачи: - Разработка и внедрение нового функционала для социальной сети (новости, чаты, профили пользователей, посты с комментариями). - Планирование и оценка задач для команды разработки. - Настройка авторизации и WebSocket-соединений для чатов. - Оптимизация кода и проектирование архитектуры базы данных. - Рефакторинг и отладка существующего кода. Состав команды: - Backend-разработчики: 2 - Frontend-разработчики: 3 - TeamLead: 1 - Project Manager: 1 - QA: 1
Node.js, MongoDB, GraphQL, Apollo, Socket.IO, TypeScript
8 месяцев [05.2019 - 01.2020] месяцев