Skip to content

mbari-org/dash5

Repository files navigation

MBARI

Setup

Getting up and going should be straightforward unless you're on windows. Simply install the project dependencies and start the client workspace. See the specific README for each workspace for any additional setup that may be required.

You can confirm the package builds and tests verify quickly via turborepo:

yarn install
yarn build
yarn test

You can install NVM and the Tasks extension to gain access to a set of convenience commands in your VSCode task bar to start various packages and run tests:

Task

If you install this extension, you should see the following options in your status bar:

  • Storybook: yarn workspace ui start
  • Tailwind: yarn workspace ui tailwind
  • UI Tests: yarn workspace @mbari/react-ui test:watch
  • Lint: yarn esw
  • Build: yarn test; yarn build
  • Run: yarn build; yarn workspace @mbari/lrauv-dash2 start

A Note on Monorepo Dependencies

Some projects in this repo depend on their siblings. For example the @mbari/react-ui package depends on @mbari/utils package. If you update @mbari/utils you will need to run yarn build from the project root to rebuild the packages and then restart your storybook and test runner so that the updated build is loaded.

Deployment

Deployments are handled by GitHub Actions and branch-aware release tags.

  • develop bumps create a staging release tag. CI publishes mbari/lrauv-dash-5:staging and mbari/lrauv-dash-5:staging-X.Y.Z, and Watchtower updates staging automatically.
  • main bumps create a production release tag. CI publishes mbari/lrauv-dash-5:production, but production deployment remains a manual pull and recreate step.
  • Use yarn version:patch, yarn version:minor, or yarn version:major only from develop or main. The script refuses version bumps from other branches.

Packages

@mbari/react-ui

A typescript based module that utilizes tailwind css and react storyboard to build, manage, and document the interface components used on the dash2 client application. We've pre-fixed the ui workspace with 'react' to future proof in case we create a duplicate component set in another framework down the road (i.e. Vue.js)

@mbari/utils

A common set of helper functions we may use in various packages within this monorepo.

@mbari/api-client

An axios library containing typed api requests and responses from the tethysdash API. There is also react-query module for usage in the react client.

Apps

@mbari/lrauv-dash2

This is the client side application for the second iteration of the LRAUV Dash application.

About

Web based UI and client applications for MBARI.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages