Backend development on ASP.NET and Docker Compose
Startup is looking for an experienced backend developer with strong skills in .NET and Docker Compose.
Requirements:
- Experience with ASP.NET 5+, Docker Compose, any relational database - key criterion!
- Experience with clean architecture (with MediatR), SignalR, Keycloak, Redis, microservices is a plus.
About the project:
Trading Pool AI - a trading platform based on artificial intelligence, which opens the market for free investment for cryptocurrency asset owners. The Trading Pool AI platform implements an investment model in the form of a pool that combines users' resources into a single balance, where PNL (positive or negative income) goes into a common fund and is distributed among users according to proportions at each moment in time.
Currently, the product is in the final stages before obtaining MVP. The neural network has successfully passed testing, and to achieve our second goal - launching the platform to the public, we need an experienced backend developer in .NET to develop and support the project.
At the moment, we have a backend that requires adjustments to the business logic according to the prepared technical specifications.
Further goals - optimization and preparation for high load (registrations and simultaneous users on the site) both at the code level and at the infrastructure level (docker swarm on AWS). Initially, we want to achieve an acceptable load on the site of up to 1000 simultaneous users and over 5000 registrations, so that our backend and infrastructure do not crash. We have docker compose for local setup on Docker Swarm.
Next - implementation of additional functionality of the platform. Everything step by step.
We would be happy to collaborate with studios as well. Please describe what you could accomplish from the list provided, what experience you have in implementing similar projects. We also ask you to state your rate. We are ready to collaborate both for specific tasks and on a permanent basis in a part-time or full-time format.
For your understanding, I will provide an example of one of the tasks that need to be completed:
In the user's personal account, there is a round "pie" chart that shows the distribution of income on the platform. Each color in the chart corresponds to the color of the card (which flips when clicked/tapped). This chart is dynamic. It changes depending on the balance in the user's "Wallet" (specifically from the "PnL Share" or, in other words, "User's Yield Share"), the size of balances in the "Wallets" of referral users (specifically the share in the "Affiliate Program"), the size of the "Pool Fee," and the overall "Pool Balance."
The first card indicates the user's personal share in the overall pool balance or, in other words, the "PnL Share." It corresponds to the turquoise part of the chart. On its front side, there is the title - "Wallet" with an icon of a shield with a checkmark inside, as well as the amount of funds on the user's balance. All of the user's funds are displayed on it and cannot be elsewhere. It contains all invested funds, and the income from transactions is credited to it (in the case of negative income from a transaction, its balance will decrease).
Next, on the front side of the "Wallet" card, there is an indicator: the user's share in the pool balance, which is also the "PnL Share." This indicator is calculated using the formula: balance on the user's "Wallet" divided by the overall "Pool Balance," multiplied by 100 minus the % commission.
Let's provide an example:
Balance on the user's "Wallet" = 1,000$
Pool balance = 10,000$
Commission = 27.5%
Total: 1,000$ / 10,000$ * 100 - 27.5% = 7.25%
Thus, if a transaction occurs with an income of 100$, the user will receive 7.25% of the income from this transaction. Specifically: 100*(7.25/100) = 7.25$. Similarly, in the case of a negative transaction with a loss of 100$, the user will lose 7.25$ from their balance.
And after each transaction, their "PnL Share" will be recalculated based on the income/loss received. This happens because after each transaction, the user's balance changes, and the algorithm must automatically recalculate their "PnL Share" in the overall "Pool Balance." It is important to note that the user's "PnL Share" also changes after each deposit/withdrawal by other users, as the overall "Pool Balance" changes, so with each change in user balances, the algorithm recalculates both the "Pool Balance" and the resulting parameter "PnL Share" for each specific user.
An important note that applies to both the "Wallet" card and the "Affiliate Balance" card. The numbers in %, indicating the "PnL Share" and the share in the "Affiliate Program" may contain many digits after the decimal point; initially, we will introduce a rule that these share indicators may contain 5 digits after the decimal point. That is, the minimum "PnL Share" and share in the "Affiliate Program" is 0.00001%. The remaining digits are ignored and do not participate in the calculation of income from transactions.
In total, the Backend needs to perform these and all other calculations and provide endpoints to the ready Frontend for charts, graphs, cards, transaction histories.
And so on...
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%. Остальные цифры игнорируются и никак не участвуют при расчете дохода со сделок.
Итого, Бэкенду нужно выполнить эти и все иные вычисления и передать эндпоинты на готовый Фронтэнд для диаграмм, графиков, карт, историй сделок.
И так далее...
Applications 1
-
344 Good day, I am Dima, I have over 6 years of experience working as a .net software engineer. For the last 3 years, I have worked as a technical lead in a large product company that developed a platform for sports betting. I have practical experience working in high-load systems and distributed systems, experience with microservices and cloud providers (mainly AWS). I have experience optimizing and building a system that processed up to 100k transactions in 1 minute and could handle up to 10k concurrent users. Regarding technologies, my main stack is -
.Net, Asp.Net
Docker, Docker Compose
Kubernetes
AWS
Kafka, RabbitMq
PostgreSql, Redis, MongoDB
EF Core, Dapper, SignalR, MediatR, Polly, XUnit
Доброго дня, я Діма, маю більше 6 років досвіду роботи як .net software engineer. Останні 3 роки я працював як технічний лід у великій продуктовій компанії, що розробляла платформу для спортивних ставок. Є практичний досвід роботи у високонавантажених системах та розподілених системах, є досвід роботи з мікросервисами та клауд провайдерами (в основному aws). Є досвід оптимізації та побудови системи, що обробляла до 100к транзакцій в 1хв та могла витримати до 10к паралельних користувачів. З приводу технологій, мій основний стек -
.Net, Asp.Net
Docker, Docker Compose
Kubernetes
AWS
Kafka, RabbitMq
PostgreSql, Redis, MongoDB
EF Core, Dapper, SignalR, MediatR, Polly, XUnit
-
1431 37 2 Hello. My name is Oleksandr, I am a .net developer with 3 years of commercial experience. During this time, I have worked with ASP.NET Core and Docker Compose, as well as with relational databases. I have practical knowledge of clean architecture using MediatR, SignalR, Keycloak, and Redis. I am ready to help with the development and optimization of your backend for Trading Pool AI, including the implementation of new functionality and preparation for high loads at the infrastructure level. My availability for collaboration can be either full-time or part-time.
Добрий день. Мене звати Олександр, я .net розробник з 3 роками комерційного досвіду. За цей час мав досвід роботи з ASP.NET Core та Docker Compose, а також з реляційними базами даних. У мене є практичні знання чистої архітектури з використанням MediatR, SignalR, Keycloak і Redis. Я готовий допомогти з розробкою та оптимізацією вашого бекенду для Trading Pool AI, включаючи реалізацію нового функціоналу та підготовку до високих навантажень на інфраструктурному рівні. Моя готовність до співпраці може бути як на повний робочий день, так і на частковий режим.
Current freelance projects in the category Web Programming
Transfer the site from Webflow to Django (Python)Hello! I am looking for a developer who will transfer the currently static pages (the layout is fully ready) from Webflow to Django. For now, we only need to transfer the layout. In the future, backend work will be needed, authentication via Telegram Login Widget… Python, Web Programming ∙ 16 minutes ago |
Solution of some tasks on Wordpress
30 USD
There is a website on WordPress, some improvements are needed - not complicated. 1. For the layout, remove sliders from internal pages, from visibility on mobile devices, the desktop remains as is. 2. There is code inserted from formdesigner.pro that loads only after… HTML & CSS, Web Programming ∙ 1 hour 5 minutes ago ∙ 11 proposals |
CREATE a landing page by combining two landing pages into one for advertising
268 USD
CREATE a landing page by combining two landings into one for advertising theme of casino more details upon execution, there is a site that needs to be brought in order there is no database there is no admin panel just a landing user applications should go to tg Web Programming, Bot Development ∙ 1 hour 8 minutes ago ∙ 6 proposals |
XML integration of productsFor the Wordpress site with marketplace functionality, it is necessary to set up the possibility of XML integration of products from other sites. Content Management Systems, Web Programming ∙ 2 hours 14 minutes ago ∙ 1 proposal |
Restoration of gmail mail with 2F availability
73 USD
Restoration of email with two-factor authentication The backup was not specified No access to email AI & Machine Learning, Web Programming ∙ 5 hours 4 minutes ago ∙ 1 proposal |