Skip to content

Software stack

Henrik Östman edited this page Dec 30, 2015 · 62 revisions

This page contains the birds view of the current technology stack that JEL is based upon.

Codingstyle

https://github.com/airbnb/javascript

https://github.com/airbnb/javascript/tree/master/react

https://github.com/eslint/eslint

Deployment

FPM - Multiple package builder

Testing

Cucumber.js

selenium-webdriver-nodejs-tutorial

Nightmare - Highlevel PhantomJs support

##Server OrientDB - Document based NoSQL database for Java

Elastic Search on Raspberry Pi

CPU load example with Vert.x on Raspberry Pi

Vert.x - working example of Vertx 3

Vert.x - Launcher

Vert.x - Metrics

Vert.x on Raspberry Pi

Vert.x on Raspberry Pi, example #2

Quartz Scheduler - could be used to schedule sampling of sensors.

http://www.9lessons.info/2011/07/login-with-google-account.html

http://stackoverflow.com/questions/9566988/java-example-how-to-login-with-facebook-account-on-gae-using-oauth

Java 8 Nashorn Tutorial

GreenMail - Java library for sending and receiving mail. Send mail from JEL or allow JEL receive command by email. Vertx-mail should possible be used.

[http://code.google.com/p/avahi4j/](Java Avahi support)

Sunrise and sunset library

jQuery for Java and other nice tools

|Rolling/moving average calculation](https://www.elastic.co/guide/en/elasticsearch/reference/master/search-aggregations-pipeline-movavg-aggregation.html#search-aggregations-pipeline-movavg-aggregation)

REST API

How to build a REST-based API

RESTful services in Vert.X

Apigee Console - Create and test your own API, and others

Handle errors in a REST-based API

[Swagger] (https://developers.helloreverb.com/swagger/) - Document REST-based APIs.

Blizzards WoW REST-based API

PayPal REST API

PayPal OAuth integration

PayPal HATEOAS, self describing REST-API

##Client

MicroJS-A list of various javascript libraries

Webjars, like bower but for Java

JSON Editor

Browser support

HTML features supported by Chrome and other browsers

Can I use it? - What HTML5 features can we use safely today?

Blocky, visuellt klient scriptspråk som genereras till javascript

Grunt

Grunt article

React.js

[http://winterbe.com/posts/2015/02/16/isomorphic-react-webapps-on-the-jvm/](React using Java)

Visual

http://www.idangero.us/sliders/swiper

Javascript library that could be used for graphs, drawing and modeling. Based upon SVG and vector graphics.

Chartist-chartlibrary

http://css-tricks.com/perfect-full-page-background-image/

Better select-boxes

Spin.js - Spinner

Snap - Successor to raphael.js

[http://sindro.me/t/speedometer/speedometer.html](Speedometer using canvas)

Nice looking canvas gauges

Exempel på snyggt UI

Termometer

Termometer2

LED-bar

Exempel på mätare

Gauge - non-free, but for inspiration

Cylinder

Sidr - jQuery plugin for creating side menus

[D3 - Data-Driven Documents] (http://d3js.org/)

Library not to be used, but contains interesting code for using D3-graphs as Web Components

Sigma.js - Graph-library

Make all icons as a font, for performance and scalable display

Foundation, Bootstrap alternativ

Kickstart-HTML, Bootstrap alternativ

Bootstrap - Basic UI-style and components

Avgrund.js - Trevlig modal javascriptbibliotek

[Odometer - Till elmätare?] (http://github.hubspot.com/odometer/)

DropZoneJs - Filuppladdningsmodul

Headroom - Show/hide header when srolling page

CSS

Polymer - WebComponents polyfill

OOCSS - Object oriented CSS

Nice looking CSS pattern - possible background?

Lea Verou | More CSS secrets: Another 10 things you may not know about CSS

Lea Verou | CSS3 Secrets: 10 things you might not know about CSS3

Modernizr - Client feature detection.

SaSS compiler

Bootstrap for Sass

Offline support

Application Cache is a Douchebag

Script easing offline support

LocalForge - offline library

Various Javascript stuff

Intro.js - new features wizzard

Stream.js, better alternative to Underscore?

RequireJS - Dynamic load javascript dependencies

[l10n - Library for handeling internationalization] (https://github.com/eligrey/l10n.js/#readme)

[Date.js Library for handeling dates and time] (http://datejs.com/)

[More info on localisation] (http://coding.smashingmagazine.com/2012/07/18/12-commandments-software-localization/)

JavaScript Module Pattern: In-Depth

Namespacing in JavaScript

Named function expressions demystified

Writing Fast, Memory-Efficient JavaScript

Deployment

Maybe should run as a Snappy?

Make sure to add user to the dialout-group to be able to talk to the hardware without being root: sudo adduser dialout

Clone this wiki locally