Coder Social home page Coder Social logo

strogo / godashing Goto Github PK

View Code? Open in Web Editor NEW

This project forked from vjeantet/godashing

0.0 3.0 0.0 9.98 MB

Build beautiful dashboards (dashing.io port)

License: MIT License

PHP 0.54% CSS 2.51% JavaScript 93.63% HTML 0.23% Go 2.95% Shell 0.14%

godashing's Introduction

goDashing

Codewake

goDashing is Golang based framework that lets you build beautiful dashboards. This project is a "fork" of the original project shopify/dashing and gigablah/dashing-go

Key features:

  • Works out of the box, no server, runtime or dependency requiered.
  • Use premade widgets, or fully create your own with css, html, and js.
  • Pull Data from JIRA to your dashboard with a html attribute.
  • Schedule and execute any script/binary file to feed data to your dashboard.
  • Use the API to push data to your dashboards.

This dashing project was created at Shopify for displaying custom dashboards on TVs around the office.

Getting Started

  1. Get the app here https://github.com/vjeantet/goDashing/releases

  2. Start goDashing $ ./goDashing

  3. Go to http://127.0.0.1:8080

    Your should see something like : alt tag

On the first start goDashing generates a demo dashboard and jobs to feed it.

Settings

  • default http port is 8080
    • set a environnement variable PORT to change this.
  • default working directory is the path where it starts
    • set WEBROOTenv var to change this.
  • default api TOKEN is empty
    • set TOKENenv var to change this.

Create a new dashboard

create a name_here.gerb file in the dashboards folder

  • every 20s, goDashing will switch to each dashboard it founds in this folder.
  • you can group your dashboard in a folder.

Customize layout

  • modify dashboards/layout.gerb
    • if you add a layout.gerb in a dashboards/subfolder it will be used by goDashing when displaying a subfolder's dashboard.

Feed data to your dashboard

jobs folder usage

When you place a file in jobs folder Then goDashing will immediatly execute and schedule it according to this convention : NUMBEROFSECONDS_WIDGETID.ext

  • the filename has 2 parts :
    • NUMBEROFSECONDS, interval in seconds for each execution of this file.
    • WIDGETID, the ID of the widget on your dashboard.

The output of the executed file should be a json representing the data to send to your widget, see examples in jobs folder.

2 cli arguments are provided to each executed file

  1. The url of the current running goDashing
  2. the token of the current running goDashing API

You can use this if you want to send data to multiple widgets. (see example)

PHP files

When you add a php file to the job folder, goDashing will assume php is available on your system, and will run it with it.

HTTP call usage (dashing API)

curl -d '{ "auth_token": "YOUR_AUTH_TOKEN", "text": "Hey, Look what I can do!" } http://127.0.0.1:8080/widgets/YOUR_WIDGET_ID

JIRA Jql and filters

Edit your .gerb dashboard to add jira attributes to your widget :

  • jira-count-filter='17531' - goDashing will search jiras with this filter and feed the widget with issues count.
  • jira-count-jql='resolution is EMPTY' - goDashing will search jiras with this JQL and feed the widget with issues count.
  • jira-warning-over='10' - widget status will pass to warning when there is more dans 10 issues
  • jira-danger-over='20' - widget status will pass to danger when there is more dans 20 issues

You don't need to restart goDashing when editing gerb files to take changes into account.

jira configuration

create a conf/jiraissuecount.ini file in goDashing working directory.

  • set url, username, password, interval in the file,
url = "https://jira.atlassian.com/"
username = "" #if empty jira will be used anonymously
password =  ""
interval = 30

Use your custom assets, widgets...

  • goDashing looks for assets in a public folder, when it can not found a file in this folder, it will use its embeded one.

Widgets

To add a custom widget "Test"

  • create a widgets folder in working directory
    • create a Test folder
      • add the Test.js, Test.html, Test.css files in it.

goDashing will use them as soon as you set a widget with a data-view="Test"

Be sure to look at the list of third party widgets.

COFFEESCRIPT ? SCSS ? JS ? CSS ?

godashing's People

Contributors

vjeantet avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.