Ġabra is an open lexicon for Maltese.
This repository contains the source code for the Ġabra API at https://mlrs.research.um.edu.mt/resources/gabra-api/
- You need Node.js. After cloning the repo run
npm install
to install Node packages locally. - You will need a file
server-config.js
containing the relevant details for your host. Start by copyingserver-config.sample.js
.
- You will need a MongoDB installation. See https://mlrs.research.um.edu.mt/resources/gabra-api/download for data dumps you can use to get started. TODO: non-data tables
Use PM2: pm2 start processes.json
or just run the file start.sh
.
You must set the environment variable NODE_ENV
to production
if relevant.
The tests use:
- mocha framework (
describe
,it
, etc.) - supertest for high-level HTTP testing (
request
etc.) - should.js assertion library (
x.should.equal(y)
etc.)
Run all tests with npm test
.
Run an individual testsuite with npx mocha --exit test/schema.js
or use the --grep
flag.
To stop on first failure, use --bail
master
branch is used for development.production
branch is kept in sync with live version on MLRS.
Deploying
Pushing to production will trigger a deploy via GitHub actions.
Assuming production can be fast-forwarded:
git push . master:production
git push origin production