Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Node.js Dublin 2015 - Brewfactory: full-stack h...
Search
Peter Marton
February 27, 2015
Programming
0
120
Node.js Dublin 2015 - Brewfactory: full-stack homebrew
Slides from the Node.js Dublin 2015 February
http://brewfactory.org/
http://www.nodejsdublin.com/
Peter Marton
February 27, 2015
Tweet
Share
More Decks by Peter Marton
See All by Peter Marton
Breaking down the monolith - devone
slashdotpeter
1
880
Breaking Down The Monolith - NodeConfBP
slashdotpeter
0
140
Breaking Down the Monolith - Peter Marton, RisingStack
slashdotpeter
0
390
Nodepb - Breaking Down the Monolith
slashdotpeter
0
150
Isomorphic applications
slashdotpeter
2
200
NodeSummit - Isomorphic and Reactive Applications
slashdotpeter
10
3.1k
Brewfactory - IoT Vienna
slashdotpeter
1
120
Brewfactory full-stack homebrew 2/2
slashdotpeter
4
210
Other Decks in Programming
See All in Programming
Cohesion in Modeling and Design
mploed
3
190
Интеграционное тестирование: как приручить хаос
mariyasaygina
0
530
色んなオートローダーを覗き見る #phpcon_okinawa
o0h
PRO
5
380
Progressive Web Apps for Rails developers
siaw23
2
540
モジュラモノリス、その前に / Modular monolith, before that
euglena1215
6
670
◯◯エンジニアになった理由
gessy0129
PRO
0
630
Beyond Laravel Octane - Hyperf for Laravel Artisans
albertcht
1
110
ECS向けのドリフト検知機構を実装してみた
tkikuc
0
280
VS Code extension: ドラッグ&ドロップでファイルを並び替える
ttrace
0
160
CSC509 Lecture 01
javiergs
PRO
1
210
WEBアプリケーションにおけるAWS Lambdaを用いた大規模な非同期処理の実践
delhi09
PRO
7
4k
Compose Multiplatform과 Ktor로 플랫폼의 경계를 넘어보자
kwakeuijin
0
250
Featured
See All Featured
Six Lessons from altMBA
skipperchong
26
3.4k
Practical Orchestrator
shlominoach
186
10k
KATA
mclloyd
27
13k
Clear Off the Table
cherdarchuk
91
320k
Embracing the Ebb and Flow
colly
84
4.4k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Optimising Largest Contentful Paint
csswizardry
31
2.8k
Writing Fast Ruby
sferik
626
60k
Being A Developer After 40
akosma
84
590k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
249
21k
Designing for humans not robots
tammielis
249
25k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
37
1.7k
Transcript
Brewfactory: full-stack homebrew Peter Marton @slashdotpeter
$ whoami - work: RisingStack, Inc. - twitter: slashdotpeter -
email:
[email protected]
- blog: http://blog.risingstack.com
What is Brewfactory? - semi-automated brewing machine - hobby project
- open-source project
How to brew beer? (BIAB way)
add water and malt
hold temperature levels
boil it and hops
cool it fermentation
bottle it enjoy!
brewing sucks? … automate it!
Brew like a boss
What’s on the technology side?
JavaScript everywhere 2007 2015 HW Microcontroller IoT devices from $10
Control HW C, C++ Node.js: Johnny-Five, Tessel Web server .net, Java, PHP Node.js Database SQL MongoDB: JS API WebUI JavaScript: jQuery JavaScript: SPA (React, Angular etc.)
Node.js in IoT - vibrant community - extreme modularity -
high performance
Johnny-Five - “jQuery of the IoT” - servo.to( 90 );
button.on(‘down’, fn); - Arduino compatible boards - Node.js
Our system
Hardware parts - digital temp. sensor - DS18B20 (1-Wire) -
heating elements - PWM (pulse-width modulation) - Relay (solid state) - controller - PID
IoT device: RaspberryPi - credit-card sized - linux - usb
ports - ethernet - NO built-in Wi-Fi - any languages
IoT device: SparkCore - pint-sized - arduino compatible - built-in
Wi-Fi - C++ - Spark’s cloud
Architecture
Architecture
BrewCore - Node.js ~0.12 / io.js - Koa - WebSockets
- Spark’s cloud - https://github.com/BrewCore
BrewMobile - Swift - Reactive Cocoa - WebSockets by @vasarhelyia
BrewUI - Isomorphic - React app with Flux - CommonJS
(Node style) - available as npm module - https://github.com/BrewUI
Isomorphic JavaScript “JavaScript code that can be shared between environments.”
- Spike Brehm
Why is it good for me? - power of server
rendering - SEO - legacy support - speed of Single Page Apps (SPA)
Isomorphic server side
Isomorphic client side
Isomorphic challenges - data fetching: talk about this later -
init app on both sides - singleton app on client -> request scoped on server
Data fetching problem - environment specific problems - should be
shimmed - same functionality and interface - different implementation: AJAX / WS / DB call / micro-service / .. - “Full Stack Flux” - Pete Hunt: React.js Conf 2015 - Full Stack Flux
Demo (http://brewcore-demo.herokuapp.com)
Contribute! github.com/brewfactory
Q&A Thank you! http://brewfactory.org