Coder Social home page Coder Social logo

montybitto / bartoc.org Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gbv/bartoc.org

0.0 0.0 0.0 5.16 MB

Source code of BARTOC.org user interface

Home Page: https://bartoc.org/

Shell 3.45% JavaScript 13.29% Perl 5.41% CSS 0.53% Makefile 0.72% HTML 37.06% Vue 26.29% Dockerfile 0.34% EJS 11.69% jq 1.22%

bartoc.org's Introduction

BARTOC.org

Relaunch of BARTOC.org web interface

This repository contains the new web interface of BARTOC.org, run by VZG.

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 to connect to. Additional dependencies are listed in package.json.

Install from sources

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.

Setup

A setup script is provided in ./bin/setup.sh. It must be called with the path to your jskos-server installation, e.g.:

./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.:

{
  "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 as well (example for local installation):

{
  "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.:

{
  "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

npm run dev

The application is made available at http://localhost:3883/.

Publish

For maintainers only

Never work on the main branch directly. Always make changes on dev and then run the release script:

npm run release:patch # or minor or major

Deployment

The application is deployed at https://bartoc.org/.

Update an existing installation:

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.

bartoc.org's People

Contributors

nichtich avatar stefandesu avatar schuchaa avatar davidbrohrer avatar rwalkerands avatar umab7 avatar sarndt-tib avatar cthoyt avatar montybitto avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.