Flora is an integrated visualization and diagnosis tool for robotics, available in your browser or as a desktop app on Linux, Windows, and macOS.
Dependencies:
Clone the repository:
$ git clone https://github.com/flora-suite/flora.git
Pull large files with Git LFS:
$ git lfs pull
Enable corepack:
$ corepack enable
Install packages from package.json
:
$ yarn install
- If you still get errors about corepack after running
corepack enable
, try uninstalling and reinstalling Node.js. Ensure that Yarn is not separately installed from another source, but is installed via corepack.
Launch the development environment:
# To launch the desktop app (run scripts in different terminals):
$ yarn desktop:serve # start webpack dev server
$ yarn desktop:start # launch electron (make sure the desktop:serve finished to build)
# To launch the web app:
$ yarn run web:serve # it will be avaiable in http://localhost:8080
LIBGL_ALWAYS_SOFTWARE
set to 1
:
$ LIBGL_ALWAYS_SOFTWARE=1 yarn desktop:start
Build the application for production using these commands:
# To build the desktop apps:
$ yarn run desktop:build:prod # compile necessary files
- yarn run package:win # Package for windows
- yarn run package:darwin # Package for macOS
- yarn run package:linux # Package for linux
# To build the web app:
$ yarn run web:build:prod
# To build and run the web app using docker:
$ docker build . -t flora
$ docker run -p 8080:8080 flora
# It is possible to clean up build files using the following command:
$ yarn run clean
- The desktop builds are located in the
dist
directory, and the web builds are found in theweb/.webpack
directory.
Flora follows an open core licensing model. Most functionality is available in this repository, and can be reproduced or modified per the terms of the Mozilla Public License v2.0.
Contributions are welcome! Flora is primarily built in TypeScript and ReactJS. All potential contributors must agree to the Contributor License Agreement outlined in CONTRIBUTING.md.
Flora is based on the Lichtblick open source code.
Lichtblick originally began as a fork of Foxglove Studio, an open-source project developed by Foxglove.