Skip to content

Software stack

Henrik Östman edited this page May 9, 2017 · 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

Systemd description - for running the JEL daemon

Systemd crasch restart - restarting JEL when it crasches

AeroGear Unified Push Server, Open Source push notification server. Docker-file

OneSignal - Commercial, but Free, push notification service. Vert.x client

[Systemd - understanding-systemd-units-and-unit-files]

(http://www.getpostman.com/docs/integrating_with_jenkins)[Run Postman tests in Jenkins]

(https://www.digitalocean.com/community/tutorials/understanding-systemd-units-and-unit-files)

Testing

Coverage test, kolla i denna POM hur de gjort

Cucumber.js

selenium-webdriver-nodejs-tutorial

Nightmare - Highlevel PhantomJs support

##Server OrientDB - Document based NoSQL database for Java

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.

Avahi introduction and Java client

Java Avahi support

uPnp - automatic portmapper

This is an implemenation of multi-cast DNS in Java

PID - controller

DNS library for Java

Sunrise and sunset library

Weather forcast api

jQuery for Java and other nice tools

Rolling/moving average calculation

Storing timeseries data

REST API

Vertx API Proxy

How to build a REST-based API

Versioning REST web services

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

MQTT-support

CoAP low level protocol

##Client

Pnotify

MicroJS-A list of various javascript libraries

Webjars, like bower but for Java

JSON Editor

Handlebars i18n support

Fontawesome, suitable fonts

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

Async, Babel, and other nice ES7 stuff

Async and Babel

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

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

Chartist-chartlibrary

Joyride - application walkthrough

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

Service workers - 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

Other

Nordpool prices

Clone this wiki locally