Startup в поиске опытного бэкэнд-разработчика с уверенными навыками работы с .NET и Docker Compose.
Требования:
- Опыт работы с ASP.NET 5+, Docker Compose, любой реляционной БД - ключевой критерий!
- Опыт работы с чистой архитектурой (с MediatR), SignalR, Keycloak, Redis, микросервисами является плюсом.
О проекте:
Trading Pool AI - трейдинговая платформа на базе искусственного интеллекта, что открывает рынок свободного инвестирования для владельцев крипто активов. В платформе Trading Pool AI реализована инвестиционная модель в формате пула, который объединяет ресурсы пользователей в единый баланс, где PNL (положительный или отрицательный доход) поступает в общий фонд и распределяются между пользователями согласно пропорциям на каждый момент времени.
В настоящее время продукт находится на финишной прямой до получения MVP. Нейросеть успешно прошла тестирование, а для реализации нашей второй цели - запуск платформы в открытый доступ нам необходим опытный бэкенд разработчик на .NET для развития и поддержки проекта.
На данный момент у нас есть бэкенд, который требует внесения корректив в бизнес логику по подготовленному ТЗ.
Дальнейшие цели - оптимизация и подготовка к высокой нагрузке (регистрации и одновременные пользователи на сайте) как на уровне кода, так и на уровне инфраструктуры (docker swarm на AWS). Для начала мы хотим достичь степеня допустимой нагрузки на сайт до 1000 пользователей одновременно и более 5000 регистраций, чтоб наш бекенд и инфраструктура не падали. У нас есть docker compose для локального сетапа на Docker Swarm.
Далее - реализация дополнительного функционала платформы. Все поэтапно.
Будем рады сотрудничать и со студиями. Опишите, пожалуйста, что из перечисленного смогли бы выполнить вы, какой опыт реализации похожих проектов имеете. Также просим написать ваш Рейт. Мы готовы сотрудничать как для реализации конкретных задач, так и на постоянной основе в формате частичной или полной занятости.
Для вашего понимания, приведу пример одной из задач, что нужно выполнить:
В личном кабинете пользователя присутствует круглая диаграмма "пирог", которая показывает распределение доходов на платформе. Каждый цвет в диаграмме соответствует цвету карты (что переворачиваются при клике/тапе). Данная диаграмма динамична. Она меняется в зависимости от баланса на «Кошельке» пользователя (а именно от «Доли PnL» или, другими словами «Доли Доходности пользователя»), размера балансов на «Кошельках» реферальных пользователей (а именно доли в «Партнерской программе»), размера «Комиссии пула» и от общего «Баланса пула».
Первая карта обозначает персональную долю пользователя в общем балансе пула или, другими словами, «Долю PnL». Ей соответствует бирюзовая часть диаграммы. На ее лицевой стороне присутствует название - «Кошелек» с иконкой щита с галочкой внутри, а также сумма средств, находящаяся на балансе пользователя. Все средства пользователя отображаются на ней и в другом месте быть не могут. На ней содержатся все инвестированные средства, а также на нее поступает полученный доход со сделок (в случае отрицательного дохода со сделки ее баланс уменьшится).
Далее на лицевой стороне карты «Кошелек» содержится показатель: доля пользователя в балансе пула, он же «Доля PnL». Этот показатель рассчитывается по формуле: баланс на «Кошельке» пользователя поделить на общий «Баланс пула», умножить на 100 минус % комиссии.
Приведем пример:
Баланс на «Кошельке» пользователя = 1.000$
Баланс пула = 10.000$
Комиссия = 27.5%
Итого: 1.000$ / 10.000$ * 100 - 27.5% = 7.25%
Значит, если произойдет сделка с доходом в 100$, пользователь получит 7.25% от дохода с этой сделки. А именно: 100*(7.25/100) = 7.25$. Таким же образом, в случае отрицательной сделки с убытком в 100$, у пользователя отнимется с баланса - 7.25$.
И после каждой сделки его «Доля PnL» будет пересчитываться в зависимости от поступившего дохода/убытка. Это происходит по причине, что после каждой совершенной сделки баланс пользователя меняется и алгоритм должен автоматически пересчитать его «Долю PnL» в общем «Балансе пула». Важно заметить, что «Доля PnL» пользователя меняется и после каждого ввода/вывода другими пользователями, поскольку меняется общий «Баланс пула», поэтому с каждым изменение балансов пользователей алгоритм пересчитывает и «Баланс пула», и вытекающий из него параметр «Доля PnL» каждого конкретного пользователя.
Важное замечание, которое касается как карты «Кошелек», так и карты «Партнерский баланс». Числа в %, обозначающие «Долю Pnl» и долю в «Партнерской программе» могут содержать много цифр после точки, для начала мы введем правило, что эти показатели долей могут содержать 5 цифр после точки. То есть минимальная «Доля PnL» и доля в «Партнерской программе» является 0.00001%. Остальные цифры игнорируются и никак не участвуют при расчете дохода со сделок.
Итого, Бэкенду нужно выполнить эти и все иные вычисления и передать эндпоинты на готовый Фронтэнд для диаграмм, графиков, карт, историй сделок.
И так далее...