Pittsburgh-NEH-Institute / pr-app

eXist-db app development
MIT License
3 stars 1 forks source link

pr-app

License GitHub release exist-db CI

a practice application designed with users in mind

Requirements

Installation

  1. Download the pr-app-2.0.0.xar file from GitHub releases page.

  2. Open the dashboard of your eXist-db instance and click on package manager.

    1. Click on the add package symbol in the upper left corner and select the .xar file you just downloaded.
  3. You have successfully installed pr-app into exist.

Building from source

  1. Download, fork or clone this GitHub repository

  2. There are two default build targets in build.xml:

    • dev including all files from the source folder including those with potentially sensitive information.

    • deploy is the official release. It excludes files necessary for development but that have no effect upon deployment.

  3. Calling antin your CLI will build both files:

cd pr-app
ant
  1. to only build a specific target call either dev or deploy like this:
    ant dev

If you see BUILD SUCCESSFUL ant has generated a pr-app-2.0.0.xar file in the build/ folder. To install it, follow the instructions above.

Running Tests

To run tests locally your app needs to be installed in a running exist-db instance at the default port 8080 and with the default dba user admin with the default empty password.

A quick way to set this up for docker users is to simply issue:

docker run -dit -p 8080:8080 existdb/existdb:release

After you finished installing the application, you can run the full testsuite locally.

Unit-tests

This app uses mochajs as a test-runner. To run both xquery and javascript unit-tests type:

npm test

Integration-tests

This app uses cypress for integration tests, just type:

npm run cypress

Alternatively, use npx:

npx cypress open

Conventions

All names (variables, functions, elements, attributes) must use kebab-case. The following are regarded as single words:

Contributing

You can take a look at the Contribution guidelines for this project

License

MIT © gab_keane