Read-only mirror of https://github.com/geoadmin/geocat-geonetwork-ui — Bundesamt für Landestopografie swisstopo. Issues & pull requests at the source.
  • TypeScript 94.2%
  • HTML 4.3%
  • CSS 0.8%
  • JavaScript 0.4%
  • Shell 0.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-06-23 14:38:14 +02:00
.github geocat: customize runs 2026-05-26 16:13:28 +02:00
.vscode add prettier config for vscode 2021-10-04 11:35:11 +02:00
apps feat(config): configuration for geocat 2026-06-23 14:38:14 +02:00
assets-common chore: nx format:write --all 2025-01-24 10:06:59 +01:00
conf feat(config): configuration for geocat 2026-06-23 14:38:14 +02:00
demo chore: nx format:write --all 2025-01-24 10:06:59 +01:00
docs Merge pull request #1529 from geonetwork/dh-editor-link 2026-04-17 13:02:18 +02:00
libs feat(config): configuration for geocat 2026-06-23 14:38:14 +02:00
package 2.9.0 2026-04-21 14:52:45 +02:00
ssr chore: post migration compilation warn fixes 2025-11-28 11:35:43 +01:00
support-services Update db dump with test data for download link deduplication 2026-04-01 19:04:54 +02:00
tools geocat: customize runs 2026-05-26 16:13:28 +02:00
translations geocat: change link to original metadata (#19) 2026-05-26 16:13:28 +02:00
.dockerignore build(datahub): add docker build target, document 2021-10-22 11:53:15 +02:00
.editorconfig refactor: recreate project using nx & angular 12 2021-06-16 09:25:00 +02:00
.eslintignore chore: migrate to nx 15.8.1 2023-03-07 16:05:49 +01:00
.eslintrc.json feat: add Datahub web component 2026-03-13 17:42:32 +01:00
.gitignore chore: nx migrate nx@21.6.8, storybook 9 2025-11-28 11:33:03 +01:00
.nvmrc chore: up node 2025-11-28 11:33:03 +01:00
.prettierignore chore(prettier): ignore /package/dist 2025-01-24 11:48:49 +01:00
.prettierrc fix(color): fix type error with label color helper 2021-06-16 11:33:15 +02:00
CONTRIBUTING.md doc(i18n): clarify & improve 2025-06-12 11:39:58 +02:00
jest.config.ts WIP : running nx migrations 2023-08-16 15:40:27 +02:00
jest.preset.js refactor(map-view): derive WMS style state reactively, fix ESM test config 2026-03-11 10:01:36 +01:00
jest.setup.ts feat(repository): add a method to get all drafts 2024-06-17 00:53:11 +02:00
LICENSE Add some doc .md file structure. 2020-06-02 10:34:36 +02:00
ng-package.json add script & config for packaging all libs 2023-11-20 16:34:18 +01:00
nx.json geocat: customize runs 2026-05-26 16:13:28 +02:00
openapi-codegen-config.json chore(platform): generate openapi client 2023-03-21 15:12:40 +01:00
openapitools.json refactor: recreate project using nx & angular 12 2021-06-16 09:25:00 +02:00
package-lock.json 2.9.0 2026-04-21 14:52:45 +02:00
package.json 2.9.0 2026-04-21 14:52:45 +02:00
proxy-config.js geocat: customize runs 2026-05-26 16:13:28 +02:00
README.md ci: adapt workflows to new system for web components 2026-03-05 18:41:59 +01:00
RELEASE.md doc: command to add npm latest tag 2025-10-03 14:23:23 +02:00
STYLEGUIDE.md extended filtering options to include the option to filter by INSPIRE keywords and standards. 2023-05-12 13:08:30 +01:00
tailwind.base.config.js geocat: adapt UI to geocat mockups 2026-05-26 16:13:28 +02:00
tailwind.base.css chore: ran migration-v20 2025-11-28 11:35:43 +01:00
tsconfig.base.json feat: add Datahub web component 2026-03-13 17:42:32 +01:00

Workflow status    Workflow status    Workflow status    Coverage Status

GeoNetwork UI

GeoNetwork-UI provides several applications to improve the user experience of your GeoNetwork catalog.

It also provides Web Components to embed various parts of your data catalog in third party websites.

End users are invited to join us on the GeoNetwork-UI forum on OsGeo Discourse: https://discourse.osgeo.org/c/geonetwork/ui

Developers should check out the GitHub discussions.

To learn more about the project, visit the GeoNetwork-UI website

Getting started

Install first GeoNetwork 4 from source or using docker.

Install Node: using an LTS is recommended, the minimum required version is 14.17.0. Using nvm makes this much simpler.

Run npm install to fetch all dependencies of the project.

Run npm start to start the datahub app in a dev server.

Once started the application is available at http://localhost:4200/.

The contributing guide explains the structure of the project and how to work with it.

If you would like to contribute code, please follow our style guide.

Storybook is a tool for exploring individual features of the application in an interactive way. You can start it with npm run storybook.

Live demo

You can either try complete applications or showcases of components using the following links:

More information

Running GeoNetwork UI applications

To run a specific application using a development server, use:

npx nx serve (app_name)

And navigate to http://localhost:4200/.

If you're using the standard dev configuration then you should head to the support-services folder and run docker compose up -d to have the required support services running locally (such as GeoNetwork).

Otherwise, you can adjust the GeoNetwork instance used as a backend in the proxy-config.js file like so:

@@ -1,6 +1,6 @@
 module.exports = {
   '/geonetwork': {
-    target: 'http://localhost:8080',
+    target: 'https://my.catalogue.org',
     secure: true,

Build GeoNetwork-UI applications

To build a specific application, use:

npx nx build (app_name)

The build artifacts will be stored in the dist/ directory. Note: this always produces a production build.

Tests

Unit tests

Run npm test to execute the affected unit tests via Jest. Affected code is compared to origin/main.

You can test

  • affected code
  • all modules
  • specific lib or app
  • specific test suite
npm run test
npm run test:all
npx nx test (lib_name)
npx nx test --test-match=/data/dev/gn/ui/libs/common/src/lib/services/bootstrap.service.spec.ts

End-to-end-tests

To run the tests with the interface:

Start docker from 'support-services', and then in the project root folder :

npx nx e2e (app_name) --watch

Then select the file(s) you want to test in the interface.

To run the tests without interface :

Start docker from 'support-services', and then in the project root folder :

--> ALl tests :

npx nx e2e  (app_name)