• Stars
    star
    148
  • Rank 249,983 (Top 5 %)
  • Language
    JavaScript
  • Created over 12 years ago
  • Updated about 9 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Real time Dropwizard dashboard based on a Vertx web socket proxy. This was just a weekend experiment to try out some new technologies while refreshing my Javascript knowledge.

Vertx experiment - Real time Dropwizard dashboard

This was just a weekend experiment to refresh my Javascript knowledge and try out some technologies I've been looking at for some time. Don't expect it to be of production quality or that I'll maintain it.

Dropwizard is a well instrumented and productive framework for building production ready restful web services. It exports a lot of statistics on a admin port. I thought it would be fun to create a proxy polling this endpoint and feeding the data to clients connected via web sockets. The proxy is implemented using the fairly new Vertx framework enabling highly concurrent polygot application development on the JVM.

While I was working on the client side of the dashboard I thought it would be fun to have a look at Knockout.js for data binding. I quite liked the declarative way it solves a lot of common problems related to data binding.

Latest update

Started upgrading Vertx and Bootstrap to their latest versions.

Screenshots

CSS dark

Give it a spin

Fire up a Dropwizard project with the admin interface running on port 8081.

When Dropwizard is running it should only be a matter of running ./gradlew run and point your browser to http://localhost:9000/.

Ps! This will download and install Gradle in your home folder!

Relevant technologies and libraries

http://vertx.io/

http://dropwizard.codahale.com/

http://knockoutjs.com/

http://momentjs.com/

http://smoothiecharts.org/

https://developers.google.com/chart/

Things to do

Ditch Knockout: It does not bring much to the table for this application. Just accidental complexity.

Introduce tabs: The dashboard is too long. Perhaps it would be a good idea to introduce tabs + a small page with a quick overview.

Contributions

Big thanks to Daniel Mayo for his contributions! This was just an evening project and I'd never thought that anyone would pick it up.


endorse

More Repositories

1

grails-health-control

Health control artefacts for Grails. Implement simple checks to verify the sanity of databases, remote services and other fragile things. The results will show up on a simple dashboard.
Groovy
14
star
2

spock-httpd-mock

Spock extension for simplified testing of code involving http / rest requests.
Groovy
10
star
3

Grails-JUnit-XSL

Alternative JUnit report theme for Grails (now a part of the standard Grails distribution!)
XSLT
6
star
4

grails-declarative-exception-handling

Provides declarative way of dealing with exceptions
Groovy
5
star
5

grails-view-compartments

GRAILS-1243
Groovy
5
star
6

simple-php-template-engine

A very, very simple php template engine based on output buffering.
PHP
3
star
7

grails-gr-css

Grails plugin aiming to deliver small, incremental, non-intrusive improvements to CSS by leveraging resource mappers provided by the Resource plugin.
Groovy
3
star
8

Spock4JS

Unit testing of Javascript code using Spock and Mozilla Rhino
Groovy
2
star
9

grails-sitemapper

On the fly sitemap generation for Grails applications, see sitemaps.org for more information about sitemaps.
Groovy
2
star
10

junit-test-factory

JUnit test runner for dynamically generated tests
Java
2
star
11

Grails-Varnish

Grails plugin for simplified Varnish integration (purging and ESI)
Groovy
2
star
12

java7-sandbox

Experimenting with Java 7 features
Java
1
star
13

groovy-for-java-developers

Sample code from a presentation at work
Groovy
1
star
14

elastic-search-sandbox

Experimenting with Elastic Search
Java
1
star
15

nmxmlp

Really simple Java library to query and update small-ish xml documents (alternative to xpath).
Java
1
star
16

gradle-web-runner

Interactive, web based Gradle task runner. #gradle #websockets #dropwizard #d3js #baconjs
JavaScript
1
star
17

chrome-tab-roulette

Semi configurable tab slideshow extension for Chrome written in CoffeeScript
CoffeeScript
1
star