GithubHelp home page GithubHelp logo

test_exchange_monitor's Introduction

Таблица Котировок

Тестовое задание для JS-разработчиков.

https://bagart.github.io/test_exchange_monitor/

Описание

Нужно разработать простую таблицу котировок для криптовалютной биржи Bitcoin.com используя eё публичный API. В таблице должны отображаться и обновляться в реальном времени следующие данные для каждой пары валют:

  • Название или ID - Ticker
  • цена покупки - Bid
  • цена продажи Ask
  • наибольшая цена за день - High
  • наименьшая цена за день - Low
  • последняя цена - Last

Демо

Демонстрацию работы такой таблицы котировок можете посмотреть здесь: fintechytech.github.io/quote/, но используйте эту демонстрацию лишь как пример и ориентир, но не как точное задание для выполнения, конкретные задачи по функциям таблицы немного отличаются от этой простой демонстрации.

Задание

  1. Реализовать таблицу котировок отображающую и обновляющую данные по каждой паре валют.
  2. Добавить возможность сортировки по возрастанию и убыванию по каждому столбцу при клике на него (см. демонстрацию)
  3. Добавьте переключатель ограничивающий список пар таблицы только 50-ю самыми дорогими по их последней цене (last) при этом оставьте возможность сортировки по другим столбцам. Другими словами, в каждый момент времени в таблице должны показываться только топ 50 самых дорогих пар отсортированых в соответсвии с выбранным столбцом. Проверьте правильность выполнения этого задания например выводя не 50 а 5 пар, при сортировке по столбцам должен менятсья только порядок пар, но не набор, тоесть это должны всегда быть самые дорогие по last пары.

API

Рекомендуется использовать публичный WebSocket API биржи Bitcoin.com, этот API работает по JSON-RPC 2.

Для разработки вам потребуется метод GetSymbols с помощью которого можно получить список пар торгующихся на бирже. Также вас интересуeт метод subscribeTicker и соответствующие сообщения-нотификации в которых уже будут присылаться и обновляться все необходимые данные. Подробнее о протоколе и форматах сообщений написано в документации по ссылкам выше.

Примерный алгоритм взаимодействия с API таков:

  1. Получить список пар методом GetSymbols
  2. Для всех пар подписаться на их котировки методом subscribeTicker

После этого в соединении начнут приходить сообщения ticker в которых будут все данные для таблицы, а именно:

  • symbol - id пары к которой относятся данные, и одновременно имя которое стоит выводить в таблице
  • bid - цена покупки Bid
  • ask - цена покупки Ask
  • high - наибольщная цена за день High
  • low - наименьшая цена за день High
  • last - последняя цена Last

Поле symbol в ответе GetSymbols и в сообщении ticker является первичным ключом, оно не будет меняться, и по нему всегда однозначно идентифицируется пара.

test_exchange_monitor's People

Contributors

bagart avatar fintechytech avatar

Watchers

 avatar

Forkers

dreddyi

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.