/prefect-ui

The home of the Prefect UI

Primary LanguageVueOtherNOASSERTION

Prefect Logo

Netlify Build Status Slack members status badge

Powered By Prefect

Prefect UI

Note: This repo is for Prefect UI development. To run the Prefect UI as part of Prefect Server, install Prefect and run prefect server start.

Installation

Prefect UI requires Node.js v14 and npm v6 to run.

You'll also need an API token from a professional Font Awesome account to build the project locally; this token should be placed in a git-ignored .env file (e.g. .env.development.local) as it's referenced by .npmrc for accessing the private FA npm registry.

Before starting the development server, you'll need to install project dependencies:

$ git clone https://github.com/PrefectHQ/ui.git
$ cd ui
$ npm install

Then, you can start the Prefect UI development server:

$ npm run serve

The Prefect UI should be available at http://localhost:8080; changes to the code in the src/ directory will result in a hot reload of the application. For more information on hot-reloading or the development server, take a look at the Webpack and Vue CLI documentation.

Testing

Prefect UI contains various unit tests for things like the Vuex store and Vue Router middleware; running theses tests locally requires Jest. We recommend using a node package executor like npx for this dependency.

Running all unit tests:

$ npx jest

Running specific tests:

$ npx jest auth
# This will run tests found in middleware/authNavGuard.spec.js, store/auth.spec.js, and store/auth0.spec.js

Development

We welcome contributions!

Prefect UI is built on Vue.js, a modern front-end JavaScript framework. We generally depend on Google's Material Design guidelines, drawing on and extending the Vuetify component library.

Building for production

For production builds:

$ npm run build

Compiled and minified code and assets are placed in the dist/ folder; dist/index.html is the built application's entrypoint.

The Prefect UI Docker image

This repo comes with a Dockerfile for building a UI image; it's generally not recommended to build this yourself but to instead use one of the versioned images found in the PrefectHQ Dockerhub registry.

Serving the built application

The Prefect UI requires a functional Prefect API to operate. For details on starting Prefect Server, visit the docs.

Submitting a PR

PR Titles should include a prefix that sets out the purpose of the PR. Most PRs will begin with the prefix Bugfix or Feature. The title should describe the work and purpose of the PR clearly and succinctly and should be appropriate and safe for the Prefect community.

Example

Feature: Add create flow run method to automations

License

Prefect UI is lovingly made by the team at Prefect and licensed under the Prefect Community License. For information on how you can use, extend, and depend on Prefect UI to automate your data, take a look at our license or contact us.