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
130
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
1k
Breaking Down The Monolith - NodeConfBP
slashdotpeter
0
150
Breaking Down the Monolith - Peter Marton, RisingStack
slashdotpeter
0
400
Nodepb - Breaking Down the Monolith
slashdotpeter
0
160
Isomorphic applications
slashdotpeter
2
210
NodeSummit - Isomorphic and Reactive Applications
slashdotpeter
10
3.2k
Brewfactory - IoT Vienna
slashdotpeter
1
130
Brewfactory full-stack homebrew 2/2
slashdotpeter
4
230
Other Decks in Programming
See All in Programming
Webの外へ飛び出せ NativePHPが切り拓くPHPの未来
takuyakatsusa
2
180
カクヨムAndroidアプリのリブート
numeroanddev
0
430
Spring gRPC で始める gRPC 入門 / Introduction to gRPC with Spring gRPC
mackey0225
2
520
Railsアプリケーションと パフォーマンスチューニング ー 秒間5万リクエストの モバイルオーダーシステムを支える事例 ー Rubyセミナー 大阪
falcon8823
3
720
FormFlow - Build Stunning Multistep Forms
yceruto
1
190
社内での開発コミュニティ活動とモジュラーモノリス標準化事例のご紹介/xPalette and Introduction of Modular monolith standardization
m4maruyama
1
130
A comprehensive view of refactoring
marabesi
0
970
レガシーシステムの機能調査・開発におけるAI利活用
takuya_ohtonari
0
610
Benchmark
sysong
0
230
Effect の双対、Coeffect
yukikurage
5
1.4k
Haskell でアルゴリズムを抽象化する / 関数型言語で競技プログラミング
naoya
17
4.8k
GraphRAGの仕組みまるわかり
tosuri13
7
450
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Rails Girls Zürich Keynote
gr2m
94
14k
Why Our Code Smells
bkeepers
PRO
337
57k
Statistics for Hackers
jakevdp
799
220k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
How STYLIGHT went responsive
nonsquared
100
5.6k
Building an army of robots
kneath
306
45k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
Speed Design
sergeychernyshev
31
1k
GraphQLとの向き合い方2022年版
quramy
46
14k
Producing Creativity
orderedlist
PRO
346
40k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.8k
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