Notice: This application and the documentation is still a work in progress.
This repository contains an app for creating and editing administrative organization charts in machine-readable json format and as a graphical representation in pdf format. The online tool was developed with the aim to provide a simple yet sufficient tool to create organisational charts to export human as well as machine readable files.
Until now, the organization charts of Berlin's administrative units are created with Excel or PowerPoint and published in pdf format. On the one hand, their graphical format makes them easy for people to read. On the other hand, this means that they cannot be read by machines or code, or can only be read inadequately. However, the organigrams contain a lot of valuable information and a machine-readable preparation could enable various uses and applications. The json file format allows the data entered to be stored in a simple text format and made available as Open Data. The organizational chart tool also aims to simplify the creation of organizational charts for the Berlin administration and to bring the organizational charts into a more uniform format.
More information and the protoype is accessible through the ODIS website (only in German).
Clone this repository, go to the directory app
by:
cd app
Then install the required dependencies with:
yarn install
To run the app in the development mode run:
yarn start
Open http://localhost:3000 to view it in the browser.
The page will reload if you make edits.
You will also see any lint errors in the console.
To build the app for production to the build
folder run:
yarn build
It correctly bundles React in production mode and optimizes the build for the best performance.
The build is minified and the filenames include the hashes.
Your app is ready to be deployed!
The Charts data structure is defined in organization_chart.json.
The Organisation UI schema is defined in the OrganisationTab.js component.
The document UI schema is defined in the DocumentTab.js component.
If you want to add validation rules you will need to add a new rule to validationRules.js
If its a new set of validation rules (e.g. for a specific organisation), you will also need to add the key name of the organisation to the schema in your organization_chart.json
You can add validation rules to any property from the list of available properties listed in validationRules.js by adding a regex and a waring message.
New vocabulary should be added to typeVocabLookup.json
This project relies on the projects of Dabeng's react-orgchart and therefore on its precursor, Wesnolte's jOrgChart.
The icons used in this app came from icons.getbootstrap.com/.
The included files of Berlin's coats of arms came from https://de.wikipedia.org/wiki/Liste_der_Wappen_in_Berlin.
Thanks goes to these wonderful people (emoji key):
Lisa-Stubert 💻 🔣 |
Ester 💻 🔣 |
tihartma 💻 |
Dennis Ostendorf 💻 |
Lucas Vogel 📖 |
Fabian Morón Zirfas 🚇 |
Max B. Eckert 💻 |
Hans Hack 💻 |
This project follows the all-contributors specification. Contributions of any kind welcome!
|
Together with:
|
A project by:
|
Supported by
|