Skip to content

About

Main frontend and edition guidelines of the Gregorovius Correspondence Edition

Resources

Stars

0 stars

Watchers

3 watching

Forks

Latest commit

 

History

525 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The Gregorovius Frontend repo contains the main frontend of the Gregorovius Correspondence Edition and the Edition Guidelines.

Main frontend

The edition's main frontend is built as a SPA with Vue.js, Vue CLI and Quasar.

Setup for development

Make sure you have npm installed, cd into the root project directory and run

npm install

to install all required dependencies.

Copy the env.dist.js to env.js and change the contents if necessary.

cp env.dist.js env.js

To compile and hot-reload for development run

npm run serve

Testing

End-to-end tests (Playwright) cover the main user flows in Chromium and WebKit. They run against a production build and a mocked API that serves recorded fixtures from tests/e2e/fixtures/api, so no network access is needed. Letter texts are transformed by the mock with xsltproc (libxslt, the same engine as the API), which therefore has to be installed (preinstalled on macOS, sudo apt-get install xsltproc on Debian/Ubuntu).

npx playwright install chromium webkit   # once

npm run test:unit                        # unit tests (Vitest, tests/unit)
npm run test:e2e                         # E2E tests (builds the app, Chromium + WebKit)
npm run test:e2e -- --ui                 # interactive mode
npx playwright show-report               # report of the last run

Every page is also scanned with axe. Known violations are listed in tests/e2e/a11y/allowlist.json; new violations fail the tests. After fixing accessibility issues, rewrite the baseline with

E2E_A11Y_UPDATE=1 npx playwright test a11y --project=chromium --workers=1

Tests marked with test.fail document known bugs; they start failing once the bug is fixed and should then be turned into regular tests.

Fixtures are a reduced, consistent snapshot of the live API (read-only requests). To re-record them:

npm run e2e:record -- --dry-run   # show selection and size only
npm run e2e:record

Smoke tests against a running stack (by default the local Docker setup at http://gregorovius.local), including a check that the mock's XSLT output equals the API's:

npm run test:e2e:smoke
E2E_SMOKE_URL=https://example.org npm run test:e2e:smoke

Edition Guidelines

The edition guidelines are built with MkDocs and Material for MkDocs. The content is all markdown-based and the structure of the page can be configured with a central configuration file (see the MkDocs documentation).

Setup for development

Make sure you have Python and MkDocs installed, cd into the edition-docs directory and run

mkdocs serve

About

Main frontend and edition guidelines of the Gregorovius Correspondence Edition

Resources

Stars

0 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages