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
860
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
200
Other Decks in Programming
See All in Programming
React + TextAliveでカッコいいLyric Applicatioinを作ろう!!
tosuri13
0
400
API Platform for Laravel
dunglas
1
490
REXML改善のその後
naitoh
0
190
サーバーレスで負荷試験!Step Functions + Lambdaを使ったk6の分散実行
shuntakahashi
6
1.6k
Why Prism?
kddnewton
4
1.7k
Perl 5 OOP機構30年史 - Perl 5's OOP Mechanism over the past 30 years
moznion
0
380
Developer Joy == Developer Productivity (really!)
hollycummins
1
220
Prolog入門
qnighy
4
1k
GoのIteratorに詳しくなってしまう
inatonix
1
210
2024 컴포즈 정원사
jisungbin
0
150
Rechartsで楽にゴリゴリにカスタマイズする!
10tera
1
170
Shinjuku.rb#95:心の技術書紹介
free_world21
1
110
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
93
13k
Done Done
chrislema
180
16k
Web development in the modern age
philhawksworth
205
10k
Making Projects Easy
brettharned
113
5.8k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
5
480
[RailsConf 2023] Rails as a piece of cake
palkan
48
4.6k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.3k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
248
20k
The Illustrated Children's Guide to Kubernetes
chrisshort
47
48k
How GitHub (no longer) Works
holman
310
140k
Testing 201, or: Great Expectations
jmmastey
36
7k
Designing for humans not robots
tammielis
248
25k
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