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.