| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
ez-Dashing is a customizable free dashboard tool for agile development teams. The project is still in development but already usable for production. I am aware that many things could be improved, feel free to contribute !
/!\ Huge work still in progress, master is currently broken, only documentation (npm run doc) is available. I am currently doing a huge refactoring and try to create a pure json generic widget :)
Guidelines
Tech Stack
The online demo shows a running dashboard (release 1.2.0) configured to consume online public API (without authentication). Some API are maybe out of date as the consequence the widgets are loading infinitely. For example, it seems it is not possible to call demo.qotilabs.com without authentitfication anymore, or maybe we should update the dashboard config.
The online demo is temporarily disabled.
The docker demo show a running dashboard (development build) configured to consume a mocked API. This demo is now the same as the online demo.
docker run --rm -it -p 8081:8081 --name ez-demo ylacaute/ez-dashing:demoThe first screenshots below is exactly what you should see.
Go on http://localhost:8081
You can directly start to use ez-Dashing by pulling the production docker image. You just have to define your json configuration.
docker run --rm -itp 8080:8080 --name ez-dashing -v /ABSOLUTE/PATH/TO/CONFIG/DIR:/ez-config ylacaute/ez-dashing:1.2.0Go on http://localhost:8080
Please note that your config directory:
DEPRECATED
If you need ez-Dashing in production but without Docker, you will have to package it manually. But keep in mind you should have no reason to start server like that, please use Docker for production.
# BUILD FOR PRODUCTION
./ez.sh build-prod
# START FOR PRODUCTION
./ez.sh start-prod <location_directory>
# More options here
./ez.sh -hThe documentation web site can be started with the command below (WIP).
npm run docHere are the available docker images:
New release
This application do not use maven release plugin. The main reason is because no jar are published, but this plugin is not CI friendly anyway. Since Maven 3 we can use ${revision} in version which bring simplicity. See this good article.
Sample to release ez-Dashing version 1.3.0:
# Create the branch
git checkout -b 1.3
# Build the app
./ez.sh build-prod 1.3.0
# Build the docker image
./ez.sh create-docker-image 1.3.0
# Push the docker image
./ez.sh push-docker-image 1.3.0
# Git tag
git tag -a v1.3.0 -m "Release 1.3.0"Define a dashboard.json configuration file, composed of the sections below:
You can define a server configuration file application.yml to override Spring Boot configuration. However, this file is not mandatory.
Most of the time, you will work with front-end only, your best option is then to start a mocked API and start the dev server.
Start the frontend
npm run serveStart the mocked API (mock the backend)
npm run apiIf you just work on the backend, use maven as usual. Please notice that ez-Dashing is now based on Spring-Boot 2.2 which bring many breaking changes, please read the [Spring Boot 2.2 Release Notes](https://github.com/spring-projects /spring-boot/wiki/Spring-Boot-2.2-Release-Notes) for more information.
Build the back-end
mvn packageStart the back-end
# Inside the ez-server directory
mvn spring-boot:run -Dspring-boot.run.profiles=dev
# If you want to change the location of the dashboard config
mvn spring-boot:run -Dspring-boot.run.profiles=dev -Dspring-boot.run.jvmArguments="-Dspring.config.additional-location
=<YOUR_CONFIG_LOCATION>"If you don't use the dev profile, the spring.config.additional-location become mandatory. Please care about the path which must end with a / otherwise Spring will kick you out.
Start the back-end from IDEA Intellij
The production build will generate a Spring Boot application by embedding the frontend inside the final fat jar. The frontend build must be triggered by the maven profile "prod". Without this profile, the Spring Application will not contain the frontend.
# Package the application with the frontend
mvn package -P prod
# Start the application
mvn spring-boot:run -Dspring-boot.run.jvmArguments="-Dspring.config.additional-location=<YOUR_CONFIG_LOCATION>"For frontend development, this project use the AirBnb code style with few changes:
You can use the .editorconfig or the CodingStyle.xml in this project.
Error: Application does not start
Caused by: java.io.FileNotFoundException: @project.parent.basedir@/config/local/dashboard.json
Solution: You must first run maven to compile and do it again each time you modify the application.yml config because maven is in charge to generate some keys, @project.parent.basedir@ in this case.
mvn compileError: When building the application, we can see that front logs are marked in ERROR by Maven (even if all tests are passing)
Solution This is not a real but a known Jest bug, Jest writes on stderr instead of stdout, as the result Maven mark them on error.
Error: Error: attribute height: A negative value is not valid.
Solution: Just resize chart widget, when the widget is too small, it can generated negative values.
ez-Dashing is licensed under the Apache 2 license.
| Back | FazBrowse Home | New Git URL |