Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Node.js Dublin 2015 - Brewfactory: full-stack homebrew
Peter Marton
February 27, 2015
Programming
0
110
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
0
450
Breaking Down The Monolith - NodeConfBP
slashdotpeter
0
130
Breaking Down the Monolith - Peter Marton, RisingStack
slashdotpeter
0
320
Nodepb - Breaking Down the Monolith
slashdotpeter
0
120
Isomorphic applications
slashdotpeter
2
180
NodeSummit - Isomorphic and Reactive Applications
slashdotpeter
10
2.9k
Brewfactory - IoT Vienna
slashdotpeter
1
99
Brewfactory full-stack homebrew 2/2
slashdotpeter
4
180
Other Decks in Programming
See All in Programming
中小企業開発事例から見るサーバーレス
seike460
PRO
4
1.5k
ペパカレで入社した私が感じた2つのギャップと向き合い方
kosuke_ito
0
130
Circuit⚡
monaapk
0
200
低レイヤーから始める GUI
fadis
18
9.2k
社会人 20 年目エンジニア、発信で技術学びなおしてる話
e99h2121
1
130
Spring BootとKubernetesで実現する今どきのDevOps入門
xblood
0
330
MBSD Cybersecurity Challenges 2022 最終審査会 IPFactory 発表スライド
futabato
0
830
ポケモンで学ぶiOS 16弾丸ツアー 🚅
giginet
PRO
1
610
コンピュータビジョンセミナー2 / computer_vision_seminar_libSGM
fixstars
0
310
PHPDocにおける配列の型定義を少し知る
shimabox
1
120
PHPアプリケーションにおけるアーキテクチャメトリクスについて / Architecture Metrics in PHP Applications
isanasan
1
200
監視せなあかんし、五大紙だけにオオカミってな🐺🐺🐺🐺🐺
sadnessojisan
2
1.2k
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
284
18k
Happy Clients
brianwarren
90
5.8k
What the flash - Photography Introduction
edds
64
10k
Fantastic passwords and where to find them - at NoRuKo
philnash
31
1.8k
Building Applications with DynamoDB
mza
85
4.9k
Adopting Sorbet at Scale
ufuk
65
7.8k
Making Projects Easy
brettharned
102
4.8k
Building an army of robots
kneath
302
40k
Making the Leap to Tech Lead
cromwellryan
116
7.6k
5 minutes of I Can Smell Your CMS
philhawksworth
198
18k
Why Our Code Smells
bkeepers
PRO
326
55k
Keith and Marios Guide to Fast Websites
keithpitt
407
21k
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