avalanche05 / finodays

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Решение команды мисис гис для кейса DigiAsset от Центр-инвест на хакатоне Finodays

Описание решения

Наше решение представляет собой инновационную цифровую платформу для создания, управления и обмена Цифровыми Финансовыми Активами (ЦФА). Цель платформы состоит в обеспечении прозрачности, безопасности и удобства операций с данными активами, а также в создании простого и доступного инструмента для участников рынка.

Особенности решения

  • Маркетплейс для всех ролей: Мы разработали уникальный маркетплейс, который позволяет как отдельным лицам, так и компаниям выступать в роли эмитента ЦФА или инвестора. Это создает динамичную экосистему, способствующую обмену и обогащению рынка.

  • Широкий спектр функций: Наша платформа обеспечивает полный цикл жизни ЦФА – от создания и эмиссии до обмена и управления. Это включает возможность создавать предложения на продажу и покупку ЦФА, а также осуществлять обмен активами между участниками.

  • Интеграция с финансовыми институтами: Мы разработали систему, которая поддерживает интеграцию с банками с использованием API, что позволит пользователям банков, у которых есть с нами интеграция, совершать операции с ЦФА. Это повышает удобство и безопасность операций.

Описание основных сущностей

  • Оффер (Offer): Оффер представляет собой предложение на продажу Цифровых Финансовых Активов (ЦФА), которые находятся в наличии у пользователя. Это сущность, через которую пользователи могут выставлять свои активы на продажу по определенной цене и количеству.

  • Заявка на покупку ЦФА (Desire): Заявка на покупку ЦФА позволяет пользователям указать желаемую цену и количество ЦФА, которые они хотели бы приобрести. Как только кто-то создаст оффер с ЦФА по указанной цене, заявка будет автоматически исполнена.-

  • ЦФА (CFA - Цифровой Финансовый Актив):

    • CfaImage: CfaImage представляет собой образ цифрового финансового актива, который объединяет отдельные ЦФА-токены в одной эмиссии. Это позволяет управлять и следить за целыми группами ЦФА.
    • Cfa Token: Cfa Token - это единица обмена для ЦФА. Каждый токен представляет определенное количество ЦФА. У каждого токена есть история владения, которую можно просмотреть. История владения отображает, какой пользователь владел токеном в разные моменты времени.

Пример использования сущностей:

Представим, что у пользователя A есть 100 ЦФА в эмиссии CfaImage_123. Он создает оффер на продажу 50 ЦФА по цене 10 рублей за токен. Пользователь B хочет купить 30 ЦФА и создает заявку на покупку с ценой 10 рублей за токен. Когда эти условия совпадают, заявка пользователя B автоматически исполняется, и пользователь A получает 30 рублей за 30 проданных токенов. Теперь у пользователя A остается 20 ЦФА в эмиссии CfaImage_123.

В дополнение к этому, пользователь C может просматривать историю владения для каждого токена, чтобы узнать, кто владел этими активами в разные периоды времени.

Таким образом, наша платформа предоставляет удобные инструменты для создания, управления и обмена ЦФА, а также обеспечивает прозрачность и надежность операций с помощью технологии блокчейн и смарт-контрактов.

Инструкция по запуску

Работа с сервисом

Фронтенд нашего сервиса доступен по ссылке: 94.45.223.241:46875

Swagger документация для бэкенда доступна по ссылке: 94.45.223.241:46874/ui

Вы можете использовать его для тестирования. Однако, если вы хотите запустить сервис локально, то вам необходимо выполнить следующие действия:

Локальный запуск

Перед тем, как развернуть у себя сервис необходимо установить Docker и Docker Compose на вашу машину.

После этого необходимо скачать репозиторий и выполнить следующие команды:

docker-compose up --build

После этого сервис будет доступен по адресу: localhost:46875

Запуск тестов

Для запуска тестов необходимо перейти в директорию test и выполнить следующую команду:

python test_default_controller.py

Структура проекта

Репозиторий состоит из следующих папок:

  • server - содержит backend сервиса
  • frontend - содержит фронтенд сервиса

Структура системы

image

Архитектура

На диаграмме ниже можно посмотреть на диаграмму сущностей. image

Технологии

Backend

  • Flask - фреймворк для создания веб-приложений на языке Python
  • PostgreSQL - реляционная база данных
  • SQLAlchemy - ORM для работы с базой данных
  • Docker - платформа для разработки, доставки и запуска приложений
  • Docker Compose - инструмент для определения и запуска многоконтейнерных приложений с помощью Docker

Frontend

  • React - JavaScript-библиотека для создания пользовательских интерфейсов
  • Mobx - библиотека для управления состоянием приложения
  • Ant Design - UI библиотека

Контакты

В случае возникновения каких-либо ошибок или вопросов не стесняйтесь создавать Issue в репозитории.

About


Languages

Language:TypeScript 40.6%Language:Python 34.6%Language:Jupyter Notebook 23.4%Language:Dockerfile 0.9%Language:SCSS 0.3%Language:JavaScript 0.1%Language:HTML 0.1%