Я бы посоветовал вам разбить проблему на жевательные куски.
Например:
Для серверной части: Из чего состоит панель управления?- Он может содержать рабочие пространства (абстракция - содержать виджеты) - Каждое рабочее пространство может содержать виджеты - Виджет может быть разных типов на основе визуализаций
- Виджет гистограммы
- Линейный графиквиджет
- виджет с накоплением диаграммы
- ...
Каждый виджет также будет иметь элементы управления, такие как фильтры даты или другие фильтры
Вам также потребуетсяспособ фильтрации ваших данных, поэтому некоторая абстракция, которая дает вам данные на основе типа виджета и настроек, которые пользователь выбирает во внешнем интерфейсе.
Для внешнего интерфейса: - Выберите библиотеку диаграмм и на основе этого вы можете получитьКонфигурации для виджетов из бэкэнда - способ периодически опрашивать ваш бэкэнд для получения текущих обновлений
Это вовсе не полностью запеченная архитектура.Иди и посмотри https://django -dash.readthedocs.io / en / latest / # скриншоты для хорошей архитектуры, которую я изучаю сам.
Надеюсь, это поможет.Удачного кодирования!