Зачеркнутое не реализовано (не успел), возможно будет реализовано в будущем.
Приложение состоит из двух экранов:
- Экран “О приложении” (первый, показывается при запуске).
- Экран “Котировки” (отображает таблицу котировок, обновляемую в фоне).
- Для навигации используется react-navigation
- Сборка, запуск и отладка возможна на основе expo либо приложение является натив-компилируемым
- Под таблицей подразумевается использование не готовых компонент табличного вида, а мини-реализация своего под конкретные нужды.
- (опционально) для типизации возможно использование TypeScript в целом по проекту
- (опционально, плюс) вместо навигации на каждом экране рассмотреть использование tab-ов, где элементом tab-а и является описанный экран
- (опционально, плюс) возможно рассмотреть использование mobx + mobx-react как в приложении в целом, так и под конкретные нужды
вроде нотификаций о изменении “таблицы”.
9. (опционально, плюс) возможно рассмотреть использование rxjs для организации observable потока данных
Содержит:
- Элемент навигации, позволяющий перейти на экран Котировки
Содержит:
- Элемент навигации, позволяющий перейти на экран О приложении
- Таблицу, содержащую котировки с биржи poloniex, обновляемые в фоне по таймеру. В ячейке показывать имя тикера, last, highestBid и percentChange.
Замечания по реализации:
- Данные в таблице обновляются по таймеру раз в 5 секунд
- Данные не обновляются когда экран не активен (т.е. открыт экран О приложении)
- В случае ошибки получения данных или парсинга их (т.е. в целом при любой ошибке), индикатируем об этом в верхней части таблицы показывая спец ячейку содержащую текст “ошибка”, в консоль логируем детали. В случае когда ошибка пропадает (например на следующей итерации таймера), индикацию ошибки скрываем.
4. (опционально, плюс) анимация обновления значений в элементах таблицы5. (опционально, плюс) спиннер при начальной загрузке данных (до момента получения первого пакета данных либо ошибки таблицей; после открытия экрана).
- Публичное API Poloniex https://poloniex.com/support/api/, запрос, который нам нужен https://poloniex.com/public?command=returnTicker
- react-navigation http://reactnavigation.org/