GeoNetwork UI is a library of UI and Web Components to embed your catalogue in third party website or to build custom application on top of it. It relies on the GeoNetwork 4 OpenAPI.
The target audience is:
- GeoNetwork developers
- Developers of SDI, portals
- Website and CMS maintainers
Install first GeoNetwork 4 from source or using docker.
Run npm install
to fetch all dependencies of the project.
Run npm run start
to start the default app.
Run ng serve app-search
to start the search 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
.
You can test current master components with storybook
- Angular components
- Web components (custom elements)
The GeoNetwork UI project is built using Angular 10 and is composed of:
- libraries containing components and services
- applications using said components
- web components using also said components
These components are communicating with each other using a NgRx store. They rely on presentation components and hold very little presentation information.
Presentation components are styled using TailwindCSS utilities. Many colors are using CSS variables, meaning they can be changed at runtime. A custom configuration for TailwindCSS has been created to provide this feature.
Holds shared models, fixtures and utility services.
Library generated dynamically from the GeoNetwork 4 API description. Use npm run generate-api
to re-generate.
- How to specify the GN url to use (currently hardcoded in the dev proxy: https://apps.titellus.net/geonetwork)
- How to build and run web components
- Explain unit test setup & architecture with jest