Skip to content
Marquez Web UI
TypeScript HTML JavaScript Shell CSS Dockerfile
Branch: master
Clone or download
Willy Lulciuc
Willy Lulciuc Add 'Sign Your Work' section [skip ci] (#60)
Signed-off-by: wslulciuc <willy.lulciuc@wework.com>
Latest commit bed409d Jan 24, 2020
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci New and improved Marquez Web UI Nov 13, 2019
.github Create PULL_REQUEST_TEMPLATE.md Nov 13, 2019
config New and improved Marquez Web UI Nov 13, 2019
docker Feature/add message when no dataset fields (#58) Jan 24, 2020
docs/images New and improved Marquez Web UI Nov 13, 2019
public New and improved Marquez Web UI Nov 13, 2019
src Feature/add message when no dataset fields (#58) Jan 24, 2020
.dockerignore New and improved Marquez Web UI Nov 13, 2019
.eslintrc.js Feature/filtering by namespace and datasource (#18) Nov 20, 2019
.gitignore New and improved Marquez Web UI Nov 13, 2019
.prettierrc.js New and improved Marquez Web UI Nov 13, 2019
CHANGELOG.md Add RELEASE.md (#59) Jan 24, 2020
CODE_OF_CONDUCT.md New and improved Marquez Web UI Nov 13, 2019
CONTRIBUTING.md Add 'Sign Your Work' section [skip ci] (#60) Jan 24, 2020
Dockerfile New and improved Marquez Web UI Nov 13, 2019
README.md New and improved Marquez Web UI Nov 13, 2019
RELEASE.md Add RELEASE.md (#59) Jan 24, 2020
docker-compose.yml Remove marquez healthcheck in docker-compose.yml (#8) Nov 13, 2019
jest.config.js New and improved Marquez Web UI Nov 13, 2019
package-lock.json Feature/pagination (#40) Jan 9, 2020
package.json Feature/pagination (#40) Jan 9, 2020
packed-refs New and improved Marquez Web UI Nov 13, 2019
setupEnzyme.ts New and improved Marquez Web UI Nov 13, 2019
setupJest.ts New and improved Marquez Web UI Nov 13, 2019
setupProxy.js New and improved Marquez Web UI Nov 13, 2019
styles.d.ts New and improved Marquez Web UI Nov 13, 2019
tsconfig.json Feature/upgrade material ui (#9) Nov 15, 2019
webpack.common.js New and improved Marquez Web UI Nov 13, 2019
webpack.dev.js Feature/job detail page (#23) Dec 7, 2019
webpack.prod.js New and improved Marquez Web UI Nov 13, 2019

README.md

Marquez Web UI

CircleCI status Gitter license docker

Marquez is an open source metadata service for the collection, aggregation, and visualization of a data ecosystem's metadata.

This web UI is used to view metadata collected and cataloged by Marquez.

Status

This project is under active development at WeWork (in collaboration with many others organizations).

Requirements

To develop on this project, you need to have Node version 10.16.3 installed. In order to easily switch between node versions, we recommend using node version manager like nvm

Development

  1. Install dependencies:

    $ npm install
    
  2. Run webpack (with development server):

    $ npm run dev
    

Running with Docker

  1. Build image:

    $ docker build -t marquez-web .
    
  2. Run image:

    $ docker run -p 3000:3000 -d marquez-web
    

You can open http://localhost:3000 to begin exploring the web UI.

Testing

  1. Run tests in watch mode:

    $ npm run test-watch
    
  2. Run all tests:

    $ npm run test
    

Deployment

(to-do)

Testing Setup

  • Jest is our testing framework. It is the test runner; it provides testing language (describe, it, beforeEach), mocking, snapshot, code coverage.
  • Enzyme - testing utility for testing React components. Provides methods for (mock) rendering components & DOM traversal.
  • run tests by doing yarn run test
  • config files:
    • jest.config.js
    • setupEnzyme.ts
  • For testing Redux Sagas, we are using Redux Saga Test Plan. This library gives us both unit testing and integration test functionality. Check out the docs.

Typescript

This project is written in typescript because it is awesome. See tsconfig.json for our setup.

Our types are defined in the src/types folder

Linting

This project uses ESLint with TypeScript support.

If you have not already done so, you should setup eslint with your editor of choice

You can add / edit the linting rules within the eslintrc.js file.

Prettifying

We are using Prettier to ensure uniform code style / formatting. Specifically, we are using ESLint to run Prettier.

  1. Please set up Prettier integration with your editor of choice. (Also, be sure to disable any other prettifier, like HookyQR's Beautify tool, for this workspace.)

  2. Ensure that your editor formats on save.

  3. See .prettierrc.js for our Prettier settings. See information on configuration settings here

Iconography:

We are leveraging Material UI's SvgIcon components

Specifically, we are using Icons to represent tags on datasets. In order to customize your app's badges, you can edit src/config/tag-to-badge.tsx

Seeding data

Mock data can be found in the docker/db/data folder. Feel free to edit the mock data if you like. (Grant worked really hard on making it pretty.)

Logging

We are using Rollbar for front-end logging.

If you are also using Rollbar, be sure to add your Rollbar config as the first <script/> in <head></head> of index.prod.html. (See Rollbar docs for more info)

If you are NOT using Rollbar, be sure to change the global __ROLLBAR__ variable in webpack.prod.js to JSON.stringify(false) (this will disable any functionality in the createRollbarMessage function in src/helpers)

Contributing

See CONTRIBUTING.md for more details about how to contribute.

You can’t perform that action at this time.