Different Parts of CLIxDashboard - Pardhu448/CLIxDashboard GitHub Wiki

The Dashboard consists of three moving parts, which have been implemented independently with each having their own github repo and docker image. CLIx_dashboard consists of only a 'docker-compose' file to combine and orchestrate these three independent subsystems. Below we will give a brief overview of each of the subsystems.

clix_dashboard_backend_AF:

This is a data processing engine which picks up school level data from syncthing server, processes it and loads processed data into CLIx_dashboard backend database(postgresql). It is scheduled to be run every day and is designed to process data parallely for all states. It is not directly connected to CLIx_dashbaord but is important component to ensure live data on dashaboard. It is implemented in clix_dashboard_backend_AF github repo.

clix_dashboard_backend:

This corresponds to backend part of CLIx_dashboard. We use python FLASK framework and postgresql database. clix_dashboard_backend primarily has WEB API for authentication and also provides REST API for data corresponding to different metrics of a school level dashboard. Postgresql is spun through a separate docker image(db_postgres service). It is named 'flask-api' in the docker-compose file. Code corresponding to backend can be found in this github repo.

clix_dashboard_ui:

We have UI for CLIx_dashboard implemented in clix_dashboard_ui. REACT is used to implement the same. We use material-ui for material design components, redux pattern for state mangement and recharts for data visualisations. It is named 'client' in the docker-compose file. Code corresponding to UI can be found in this github repo.