Skip to content

nzzdev/Q-server

dev
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Q Server

Maintainer: Franco Gervasi

Q is a system that lets journalists create visual elements for stories. It is developed by NZZ Editorial Tech and NZZ Visuals and used in the NZZ newsroom. There is a Demo over here: https://editor.q.tools

This is the server for the Q Toolbox. To make use of Q server you will also need a Q editor.

Documentation: https://nzzdev.github.io/Q-server

Development

git clone git@github.com:nzzdev/Q-server.git
cd Q-server
nvm use
npm install

For testing local changes of Q-server, one can link the local package to the global installation of Q-server:

cd Q-server
npm link

Next, in some other location, the following command will create a symbolic link from globally-installed Q-server to node_modules/ of the current folder.

cd some-other-location
npm link @nzz/q-server

Note: Q-server uses joi. If the other location, where you linked the Q-server to, uses joi as well, make sure they have the exact same version.

To unlink, simply install Q-server again globally:

npm install @nzz/q-server -g

Tests

There is a 100% coverage aim with the tests. Please do not lower the coverage. The tests use pouchdb-server to mock the database and implement a simple mock tool endpoint. This makes e2e testing completely self contained without the need for any external services running. Just do a npm install and then npm run test and you are good to go. There are e2e tests in test/e2e-tests.js and some unit tests in test/unit-tests.js.

License

Copyright (c) 2019 Neue Zürcher Zeitung. All rights reserved.

This software is published under the MIT license.