Но основе шаблона https://themeforest.net/item/isomorphic-react-redux-admin-dashboard/20262330?ref=redqteam ( https://yadi.sk/d/Eimfb-2f3R9wiC )
Нужен дашборд с несколькими виджетами:
Пара float показателей, обновляется раз в 3 секунды (Такие как у шаблона на дашборде с подписью "Unread Email")
Пара графиков, обновляется раз в 3 секунды (Как в разделе "Google Charts", график "Line Chart")
Форма для редактирования целочисленного значения и 3 строк. При сохранении данных форма должна становиться неактивной до подтверждения сервером того что данные приняты (в ответном сообщении отсутствует ошибка).
Если сервер ответил ошибкой должно всплыть предепреждение что сохранить не удалось (Feedback – Message – Error Text), и данные на форме должны обновиться на основе свежих пришедших данных (ответ сервера при сохранении всегда присылает текущие данные независимо от того удалось ли сохранить). Мок бека, для тестирования, отвечает ошибкой примерно в трети случаев.
Иногда вместо показателя может прийти структура с null вместо значения, в этом случае показатель должен оставаться прежним. Аналогичное может быть с данными для графика, данные по некоторым моментам времени могут быть нулами, в этом случае их нужно проигнорировать, отфильтровав перед выводом только записи с присутствующими показателями.
Взаимодействие с беком по REST, авторизации нет
Фронт упаковывается в Docker, в параметры запуска контейнера выносится хост/порт бека (одним или разными параметрами, как удобнее будет сделать)
Пути
GET http://89.223.29.186:17500/settings – получить настройки
PUT http://89.223.29.186:17500/settings – сохранить настройки
GET http://89.223.29.186:17500/chart1 – данные для первого графика
GET http://89.223.29.186:17500/chart2 – данные для второго графика
GET http://89.223.29.186:17500/value1 – данные первого показателя
GET http://89.223.29.186:17500/value2 – данные второго показателя
Примеры ответов
Получить настройки
{"port":1069,"connectionString" :"connectionString_913923391","use rname":"user_1767529506","pass word":"password_611132672"}
Сохранить настройки
{"pool":{"port":13822,"co nnectionString":"connectionString_203951 7017","username":"user_6573770 32","password":"password_40705 2649"},"error":"There was some error"}
Данные графика
{"elements":[["2018-01-02T14:12:00. 846","8.7"],["2018-01-02T14:12 :30.846",null],["2018-01-02T14:13:00.846 ","7.53"],["2018-01-02T14:13:3 0.846","4.91"],["2018-01-02T14 :14:00.846","9.33"],["2018-01- 02T14:14:30.846","4.94"],["201 8-01-02T14:15:00.846","8.15"],[" 2018-01-02T14:15:30.846","5.33"], ["2018-01-02T14:16:00.846","8.57" ],["2018-01-02T14:16:30.846","7. 23"],["2018-01-02T14:17:00.846"," 5.51"],["2018-01-02T14:17:30.846" ,"4.27"],["2018-01-02T14:18:00.846 ","2.24"],["2018-01-02T14:18:3 0.846",null],["2018-01-02T14:19:00.846" ,"3.93"],["2018-01-02T14:19:30. 846","2.91"]]}
Данные показателя
{"value":"3.32"}
Инетерсуют сроки, цена
Работаем через сейф