Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gbv/bartoc.org
Source code of BARTOC.org user interface
https://github.com/gbv/bartoc.org
bartoc coli-conc jskos
Last synced: about 1 month ago
JSON representation
Source code of BARTOC.org user interface
- Host: GitHub
- URL: https://github.com/gbv/bartoc.org
- Owner: gbv
- Created: 2019-12-11T11:14:45.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2024-04-04T17:12:19.000Z (9 months ago)
- Last Synced: 2024-04-13T23:54:47.539Z (8 months ago)
- Topics: bartoc, coli-conc, jskos
- Language: HTML
- Homepage: https://bartoc.org/
- Size: 5.81 MB
- Stars: 24
- Watchers: 9
- Forks: 10
- Open Issues: 107
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# BARTOC.org
> Relaunch of BARTOC.org web interface
This repository contains the [new web interface of BARTOC.org](https://bartoc.org), run by [VZG](https://www.gbv.de/).
## Functional Requirements
* Keep all BARTOC URIs and most URLs
* Provide a nice web interface, possibly multilingual
* Use JSKOS API as backend
* Serve HTML, JSKOS, and RDF## Install
## Requirements
Requires at least Node.js 18 and an instance of [jskos-server](https://github.com/gbv/jskos-server) to connect to. Additional dependencies are listed in `package.json`.
## Install from sources
~~~sh
git clone https://github.com/gbv/bartoc.org.git
cd bartoc.org
npm ci
~~~## Docker
You can also set up BARTOC via Docker. Please refer to our [Docker docs](./docker/README.md).
## Setup
A setup script is provided in `./bin/setup.sh`. It must be called with the path to your jskos-server installation, e.g.:```bash
./bin/setup.sh ../jskos-server
```## Configuration
Basic configuration is located in `config/config.default.json`. Selected fields can be overridden in a local `config/config.json`. The latter should at least include a link to a JSKOS server instance, e.g.:
~~~json
{
"backend": {
"provider": "ConceptApi",
"api": "http://localhost:3000/"
}
}
~~~To be able to log in, add, and edit vocabularies, you need to setup and configure an instance of [Login Server](https://github.com/gbv/login-server) as well (example for local installation):
```json
{
"login": {
"api": "localhost:3004/",
"ssl": false
}
}
```### jskos-server Configuration
To be able to use the full functionality of BARTOC, your jskos-server installation must allow concept schemes to be written via the API, e.g.:```json
{
"schemes": {
"read": {
"auth": false
},
"create": {
"auth": true
},
"update": {
"auth": true,
"crossUser": true
}
}
}
```Via an array `identities` under `schemes`, you can limit which identity URIs can write vocabulary data.
## Run for testing
~~~sh
npm run dev
~~~The application is made available at .
## Publish
**For maintainers only**Never work on the main branch directly. Always make changes on `dev` and then run the release script:
```bash
npm run release:patch # or minor or major
```## Deployment
The application is deployed at .
Update an existing installation:
~~~sh
git pull
npm install
pm2 restart bartoc.org
~~~Note that `NODE_ENV` has to be set to `production`, otherwise Vue files will be requested from the dev server. This is given when using `npm run start`.
## Database dumps and statistics
To regularly update dumps, add a cronjob with command `npm run dump update`. Dumps will be placed in directory `data/dumps` and statistics are placed in `data/reports`. To compare two dump files run `npm run dump diff`.