An introductory user documentation (in German) explaining the general functionality of the prototype can be found here.
The application consists of the following services:
- The controller, an NGINX instance as a reverse proxy,
- the MediaWikiConnector (MWC), which pulls the data from the VIA wiki,
- the SharingService, which manages shares from the frontend, and
- the TopicExtractionService (TES), which embeds the abstracts from the wiki.
The controller caches and proxies the /graph GET request from the MWC at the path /api/graph. The documentation for both services can be found here. The documentation of the TES is available here. Furthermore the Controller inherits all endpoints of the SharingService under the basepath /api. The documentation for the SharingService is found here.
The following installation guide will lead you through the process of building the IKON prototype (backend and frontend) for development and testing purposes. The deployment is done with Docker.
The guide is tailored to Linux systems. It is explicitly tested on Ubuntu 18 but will work on most other distributions as well.
In the current form this prototype needs internet access to retrieve data from https://via.museumfuernaturkunde.berlin (VIA-Wiki, Museum für Naturkunde Berlin) and http://nominatim.openstreetmap.org (Geocoder, OpenStreetMap). In addition, you need a user account for the VIA-Wiki to access the data.
You need Docker and Docker Compose installed in order to run the backend.
Important note: The project generates SSL/TLS certificates and passwords if none are found in the subrepo containing the secrets. If you change the port mapping in the docker compose file, you have to adjust the urls in the following installation guide.
Step by step installation guide:
- First you need to clone the repository. Navigate to the installation folder and execute:
git clone --recurse-submodules -j8 https://github.com/FUB-HCC/IKON-backend.git
- Start the shell script to generate the necessary configuration files and pull the containers:
cd IKON-backend/
bash ./start.sh pull
- Insert your credentials for the VIA-Wiki into the
ikoncode_secrets
file. Change theprotocol
attribute to http: if your environment does not suport https:
vi ./assets/secrets/ikoncode_secrets
- Run the script again:
bash ./start.sh up
In order to display all possible options of the start script, run:
bash ./start.sh -h
- First check of installation: Run queries from the API documentation
curl -X GET "https://localhost/api/graph" -k
- Start the frontend:
Desktop version: https://localhost
Touchscreen version: https://localhost/touch
Attention: Building locally requires atleast 8 GB of free RAM and will take up to 40 minutes. In order to build the containers locally, train the models after step one of the installation procedures via:
docker-compose -f docker-compose.build.yml up --build
and instead of pulling the images in step two, build the models via
bash ./start.sh build
The data automatically updates, because once the cache expires new data from the VIA is pulled and processed.
This project is licensed under the APGL 3 License - see the LICENSE file for detail