Skip to content
Andrea Ferrandi edited this page Mar 7, 2020 · 14 revisions

Exmap is a spreadsheet application based on maps (key-values), instead of cells.

The purpose is to build views, which show the data you are interested in in a tabular format (like in a spreadsheet), and dynamically change when the data they are based on change.

A view is built upon maps, not single cells. Maps are columns of data, but each cell of the map has a key. For example a map describing the prices of cars, have one price-value for each car model, and as key the car model name.

Keys are the way to show related values of different maps in the same rows in a view. For example a map describing the prices of cars and a map describing the max speeds of cars will have both as key the car model. When put in a view, they will show the price and max speed for an "Alfa Romeo Giulietta" in the same row of the view, labeled as "Alfa Romeo Giulietta".

Maps can:

  • be stored as data in the disk (and therefore it is possible to create them or edit them)
  • come from a database or external source (and therefore their values can change dynamically)
  • be the result of a calculation, which is a function applied to other maps.

Concepts

Exmap structure: maps, calculations, views
The whole system architecture
The server architecture
Maps, the data
Calculations, calculate maps from other maps
Functions, the calculations building blocks
Views, to display maps
Projects, containing maps, calculations and views

User interface

The web client
Display views
Create or edit maps
Create or edit calculations
Create or edit views

Install

Install and try the docker image

Development

Develop new functions

Clone this wiki locally