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

https://github.com/connexta/revelio

Revelio is a sandbox for migrating Intrigue features off of Backbone and Marionette towards GraphQL and React.
https://github.com/connexta/revelio

ddf graphql react ssr

Last synced: about 1 year ago
JSON representation

Revelio is a sandbox for migrating Intrigue features off of Backbone and Marionette towards GraphQL and React.

Awesome Lists containing this project

README

          

# revelio

[![Build Status](https://travis-ci.org/connexta/revelio.svg?branch=master)](https://travis-ci.org/connexta/revelio)

Revelio is a sandbox for migrating
[Intrigue](https://github.com/codice/ddf-ui/tree/master/ui-frontend/packages/catalog-ui-search)
features off of Backbone and Marionette towards GraphQL and React.

## Why are we doing this?

There are several reasons for this that will be covered in the
architecture section but the gist of it is that we have hit limitations,
both in terms of complexity and performance, and need to make these
changes so we can continue growing our software. Our goals are to
component-ize Intrigue to make it easier to build other similar
application and reduce the overall complexity budget required to develop
new features.

## How are we doing this?

The intention is to keep revelio as as separate project from
[DDF](https://github.com/codice/ddf) (as that is inline with the current
efforts to split apart the system) and gradually port over features into
revelio. In time, when components start to stabilize, we will port them to
[atlas](https://github.com/connexta/atlas) or dedicated spaces for more
specialized components, such as
[geospatialdraw](https://github.com/connexta/geospatialdraw).

## Getting Started

Revelio should be run alongside an instance of [DDF](https://github.com/codice/ddf).
Changes made on DDF (creating/deleting workspaces, result forms, etc.) will
then be reflected in Revelio. Revelio uses the [RPC](https://github.com/connexta/ddf-jsonrpc) API
to communicate with DDF. The jar for the rpc endpoint will need to be hot deployed to DDF.

yarn install
yarn start

### Yarn Version

One thing to note, please ensure minimum yarn version is at least `v1.21.0`. You may encounter errors such as `Error: Cannot find module 'MODULE NAME HERE'` if your yarn version is not high enough.

### Production

To run the production JavaScript code, do:

yarn build:prod

And then to start the node process, do:

yarn start:prod

### Docker

Docker containers can be found
[here](https://hub.docker.com/repository/docker/cnxta/revelio) and can be
run with the following command:

docker run --rm -it -p 4000:4000 -e DDF_LOCATION= cnxta/revelio:

**NOTE**: the docker container needs network access to DDF for this to
work.

## Architecture

To get a deeper look into the system, take a look at the
[architecture](./docs/architecture.md) docs.

## GraphQL Tools

For information on GraphQL development tools, take a look at the [GraphQL Tools](./src/main/graphql-server) docs.

## How to Publish

First bump the version in the package.json

Then build the library:

yarn build:library

Finally publish the library:

npm publish dist