THE APIVIZ ECOSYSTEM

2 minute read


ApiViz is designed to agnosticaly display data and provide an engine to deploy a datavisualisation website without (too much) pain, not regarding to the service(s) serving and storing the data.

Nevertheless to do so an instance of ApiViz must be connected to several external services : one for authentication, one for serving the data, one for storing the static contents (html pages, images…).

The goal of ApiViz is to work with any external service fulfilling those roles, but we developed an eco-system of open source applications allowing a complete and free way to deploy such a datavisualisation service.

OUR OPEN SOURCE TOOLS

apiviz logo
Apiviz as the high-level app for visualisation, a sort of open source CMS for data-visualisation
solidata logo
Solidata to "API-fy" your data and manage open data projects
toktok logo
TokTok for a dedicated authentication service to manage users, JWT, and roles
open scraper logo
OpenScraper is a generic web scraper serving the results of the scraping via its API

OPEN SOURCE SERVICES FOR A SOVEREIGN AND DECENTRALIZED DATA FLOW

In the following illustration you can have a general idea of how those several services could work altogether. Check the /documentation/configurations folder to have a broader look to other configurations.

full details
click to enlarge illustration

You can also check those several projects and repository to find some layout for your specific new datavisualisation website :

  • Sonum repo ;
  • CIS repo ;
  • … and more to come…

Note : all the schemas were realized with VUE - Visual Understanding Environment, an open source mind mapping tool. The source file for the schemas is here


THE APIVIZ ECOSYSTEM IN DETAILS


TokTok

centralizes requests concerning user’s authentication :

  • login : given an email and a password responds with an access_token and a refresh_token
  • register an new user :
  • modify an user :
  • retrieves user’s infos :
  • confirm an access_token is authorized, valid, or not.

Solidata

centralizes data management :

  • stores data as open data projects.
  • “API-fy” your tabular data.
  • allows distant modifications on data thanks to its backend API.
  • allows you to gather and normalize several datasets into a single open data project / dataset output.

client’s Github/Gitlab repo

centralizes html pages, images and external scripts you’ll need for your original wabapp :

  • by storing your static contents on a Github/Gitlab repo, modifying a content for your online server doesn’t need to change your app source code anymore, you just need to modify your html/images/scripts on Github/Gitlab, and a few minute after your content is changed directly online.
  • that way you can separate in your team those in charge to modify contents, and those in charge of code maintenance.

Apiviz

gathers data and app configuration to display an original website :

  • navbar configuration : define the logo, links, and menus in your apiviz instance’s navabr.
  • footer configuration : define the links present in the apiviz instance’s footer.
  • styles configuration : define the CSS styles for your apiviz instance.
  • global configuration : define some metadata for your apiviz instance.
  • routes configuration : define the pages and routes of your apiviz instance, either statics contents or data views.
  • data endpoints configuration : define the data endpoints feeding your apiviz instance and the fields you want to display.