UNPKG

@europeana/portal

Version:
79 lines (51 loc) 2.86 kB
# Europeana Collections portal, made with Vue.js + Nuxt.js [![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=europeana_portal.js&metric=sqale_rating)](https://sonarcloud.io/dashboard?id=europeana_portal.js) [![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=europeana_portal.js&metric=reliability_rating)](https://sonarcloud.io/dashboard?id=europeana_portal.js) [![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=europeana_portal.js&metric=security_rating)](https://sonarcloud.io/dashboard?id=europeana_portal.js) [![Coverage](https://sonarcloud.io/api/project_badges/measure?project=europeana_portal.js&metric=coverage)](https://sonarcloud.io/summary/new_code?id=europeana_portal.js) ## Prerequisites 1. Node.js version 16, and npm 2. [Contentful](https://www.contentful.com/) CMS account 3. Redis cache (included as Docker Compose service for development) ## Configuration Configuration options can be set in a .env file (see [.env.example](/.env.example)) or via ENV variables on your machine. Some core features such as authentication and editorial content require the relevant configuration options to be specified. In particular, pay attention to the Europeana APIs, Contentful, Redis and oAuth sections in the example .env file. ## Build ```shell # start services docker-compose up # install package dependencies npm install # serve with hot reload at localhost:3000 npm run dev # build for production and launch server npm run build npm start ``` For detailed explanation on how things work, refer to [Nuxt.js docs](https://nuxtjs.org). ## Testing To run end-to-end tests, you will need Docker Engine and [Compose](https://docs.docker.com/compose/) installed and the docker service running. Run the full test suite with: `npm test` ### Unit tests `npm run test:unit` runs all unit tests. To run unit tests from a single file, append the full path, e.g. `npm run test:unit tests/unit/components/PageHeader.spec.js` ### End-to-end tests First, create an env file for the app container, copying [tests/e2e/docker/app/.env.example](tests/e2e/docker/app/.env.example) to tests/e2e/docker/app/.env and populating with actual API keys. `npm run test:e2e` runs all end-to-end feature tests. To run a single end-to-end test file, append the full path, e.g. `npm run test:e2e tests/e2e/features/common/header.feature` If you have modified app files and want to re-run e2e tests, you will need to first rebuild the generated Docker images in the test stack, with `npm run test:stack:rebuild` ### Visual tests Ensure that you have set a [Percy](https://percy.io) token as `PERCY_TOKEN` in tests/e2e/docker/nightwatch-visual/.env, then run `npm run test:visual`. ## License Licensed under the EUPL v1.2. For full details, see [LICENSE.md](LICENSE.md).