Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/odpi/egeria-ui

User interface instance using main Egeria functionalities.
https://github.com/odpi/egeria-ui

egeria entry-point javascript ui

Last synced: 2 months ago
JSON representation

User interface instance using main Egeria functionalities.

Awesome Lists containing this project

README

        

# Egeria UI

![egeria ui build](https://github.com/odpi/egeria-ui/actions/workflows/node-build.yml/badge.svg)

| Library | Latest version available |
|----------------------|------------------------------------------------------------------------------------------------------------------------------------------------|
| egeria-js-commons | [![egeria-js-commons](https://badge.fury.io/js/@lfai%2Fegeria-js-commons.svg)](https://www.npmjs.com/package/@lfai/egeria-js-commons) |
| egeria-ui-core | [![egeria-ui-core](https://badge.fury.io/js/@lfai%2Fegeria-ui-core.svg)](https://www.npmjs.com/package/@lfai/egeria-ui-core) |
| egeria-ui-components | [![egeria-ui-components](https://badge.fury.io/js/@lfai%2Fegeria-ui-components.svg)](https://www.npmjs.com/package/@lfai/egeria-ui-components) |
| happi-graph | [![happi-graph](https://badge.fury.io/js/@lfai%2Fhappi-graph.svg)](https://www.npmjs.com/package/@lfai/happi-graph) |

# Table of contents

1. [Prerequisites](#prerequisites)
2. [Dependencies](#dependencies)
3. [Tests](#tests)
4. [Development](#development)
5. [Production](#production)
1. [Standalone build](#tandalone-build)
1. [Preconfigured build with API_URL parameter](#preconfigured-build-with-api_url-parameter)
6. [Themes](#themes)
7. [Release cycle](#release-cycle)
8. [Links](#links)
9. [License](#license)

## Prerequisites
| | Version |
|---------|---------------------|
| NodeJS | 16.13.0 (LTS) |
| NPM | 8.1.0 |

## Dependencies
```bash
$ npm install
```

## Tests
```bash
$ npm test
```

## Development

### Development with backend API

The backend API URL from odpi/egeria (ui-chassis-spring, here [0]), which needs
to start with CORS filter on.

```bash
$ npm run start --api-url=http://localhost:8443
```

### Development with mocked API

The backend API URL from odpi/egeria-api-mocks (egeria-api-mocks, here [1]).

```bash
$ npm run start --api-url=http://localhost:9000
```

## Production

### Standalone build

Outputs the build in `/build/prod` with no config what so ever.

```bash
$ npm run build
```

### Preconfigured build with API_URL parameter

Outputs the build with all HTTP requests prefixed with the given API_URL parameter.
The API server needs to have the CORS filter on.

```bash
npm run build --api-url=http://api.app.prod
```

## Themes

The theme folder now sits statically under the `themes` folder, changing the files
here will change the theme directly. It is directly referenced in the `index.html` page.

## Release cycle
Egeria-UI use GitHub as its dependency provider, this means that all the releases
are being pushed to the Github Egeria-UI repository here [2].

```bash
$ git clone https://github.com/odpi/egeria-ui # clone and checkout to main branch
$ vim release-notes.md # add release notes
$ git commit -m "Add release notes"
$ npm version patch # (minor or major) this will create a new commit with the bumped version
# and also a git version tag
$ # `npm publish .` won't be executed since we are using GitHub as a direct dependency
$ git push origin main
$ git push origin main --tags
$ # the released version will be available at the git version tag or in the
# release page here [1]
```

## Links
[0] - https://github.com/odpi/egeria/tree/main/open-metadata-implementation/user-interfaces/ui-chassis/ui-chassis-spring/

[1] - https://github.com/odpi/egeria-api-mocks

[2] - https://github.com/odpi/egeria-ui

## License

SPDX-License-Identifier: Apache-2.0

Copyright Contributors to the ODPi Egeria project.