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
.
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.
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
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.
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.
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.
The Prefect UI requires a functional Prefect API to operate. For details on starting Prefect Server, visit the docs.
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.