AJamesPhillips / DataCurator

DataCurator enables you to map and understand complex systems before helping you plan, communicate and navigate successful interventions in them.
https://DataCurator.org
8 stars 1 forks source link
complexity help-wanted insight interventions kumu maps network-visualization systems-thinking temporal-networks

DataCurator

A collaborative real time planning application for complex projects. Integrates a subset of features from:

Find out more at DataCurator.org, view an example map or sign up

Data storage

The data is store in a Supabase account we operate. In future we would like you to be able to more easily host your own data in Solid pods or something equivalent.

Future improvements

Local app development

Setup (on Mac)

$ git clone git@github.com:centerofci/DataCurator.git

Install frontend dependencies

cd app/frontend
pnpm install

Running the app

Start the frontend server

cd app/frontend
npm start

Then visit http://localhost:8080/app#wcomponents/&view=knowledge

Deployment notes

DataCurator currently hosted on Github

Setup

# Clone into adjacent directory
git clone git@github.com:AJamesPhillips/data-curator-build.git

Build & deployment

Currently broken as of 2023-09-05

./build.sh
cd ../data-curator-build
git commit
git push

Console API

You can navigate to a knowledge view, open the developer console, and use the following script to get a matrix of the connected components:

    current_visible_graph = window.console_api.get_current_visible_graph()
    connection_matrix = current_visible_graph.get_connection_matrix()

    console.log(window.console_api.matrix_to_csv(connection_matrix))

If you want to get the components by title instead of ID you can use:

    connection_matrix_using_titles = window.console_api.matrix_component_ids_to_titles(window.console_api.get_wcomponents_by_id(), connection_matrix)
    console.log(window.console_api.matrix_to_csv(connection_matrix_using_titles))

If you want to get the components by a compound of their labels and an ordinal you can use:

    component_id_to_label_names_map = current_visible_graph.get_component_id_to_label_names_map()
    connection_matrix_using_label_names = window.console_api.matrix_component_ids_to_labels(component_id_to_label_names_map, connection_matrix)
    console.log(window.console_api.matrix_to_csv(connection_matrix_using_label_names))

Development notes