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
Progressive Nest
Search
Jecelyn Yeen
October 18, 2018
Programming
1
110
Progressive Nest
Progressive Node.js Framework with Nest
Jecelyn Yeen
October 18, 2018
Tweet
Share
More Decks by Jecelyn Yeen
See All by Jecelyn Yeen
WorkerConf 2021 - Browser automation with Puppeteer
jecfish
0
1.8k
My Journey as Technical Presenter
jecfish
0
940
Becoming a GDE
jecfish
0
3.8k
How to get started in IT Freelancing
jecfish
1
270
New Web API & Stylings
jecfish
3
700
如何打造高性能且SEO友好的单页应用(SPA)
jecfish
2
850
JS SEO
jecfish
4
1.5k
Web Performance Optimization
jecfish
5
1.8k
Have Fun with Angular
jecfish
0
97
Other Decks in Programming
See All in Programming
MCPとデザインシステムに立脚したデザインと実装の融合
yukukotani
4
1.5k
Compose Multiplatform × AI で作る、次世代アプリ開発支援ツールの設計と実装
thagikura
0
170
ファインディ株式会社におけるMCP活用とサービス開発
starfish719
0
2.1k
テストカバレッジ100%を10年続けて得られた学びと品質
mottyzzz
2
610
AI時代のUIはどこへ行く?
yusukebe
18
9.1k
JSONataを使ってみよう Step Functionsが楽しくなる実践テクニック #devio2025
dafujii
1
640
プロポーザル駆動学習 / Proposal-Driven Learning
mackey0225
2
1.3k
概念モデル→論理モデルで気をつけていること
sunnyone
3
300
Things You Thought You Didn’t Need To Care About That Have a Big Impact On Your Job
hollycummins
0
110
Platformに“ちょうどいい”責務ってどこ? 関心の熱さにあわせて考える、責務分担のプラクティス
estie
1
140
デザイナーが Androidエンジニアに 挑戦してみた
874wokiite
0
550
スケールする組織の実現に向けた インナーソース育成術 - ISGT2025
teamlab
PRO
2
170
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
Optimizing for Happiness
mojombo
379
70k
Facilitating Awesome Meetings
lara
55
6.5k
What's in a price? How to price your products and services
michaelherold
246
12k
Agile that works and the tools we love
rasmusluckow
330
21k
A Tale of Four Properties
chriscoyier
160
23k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
The Invisible Side of Design
smashingmag
301
51k
4 Signs Your Business is Dying
shpigford
184
22k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
Transcript
nest | progressive node.js framework | scalable +
@JecelynYeen From Kuala Lumpur, Malaysia • GDE - Web technologies,
Angular • Software Architect @ Randstad Organizer:
• node is good, but… • nest is here to…
• nest core concepts - live coding +
Story of building LEGO house
simple, intuitive, easy to start
structure, details, layout
None
- Design & Plan - Modular - Ecosystem
Software Development with
JavaScript runtime that built on top of Google Chrome’s V8
engine.
is simple… - Setup time: 1 minute - Code: 2
lines
const app = require('express')(); app.listen(3000);
const app = require('express')(); app.get('/', (req, res) => res.send('hello, simple
house!’)); app.listen(3000);
Why ? Language Reusability Productivity Community
Simplicity Wait, what is the definition of simple?
is simple up to a certain point When build medium
- large applications, the definition of simple change.
Application Issues (Medium to Large) Lack of common architecture Fragile
execution Problematic growth Structure Robustness Scalability
“We build our computer (systems) the way we build our
cities. Over time, without a plan, on top of ruins.” - Ellen Ullman
None
Why ? Application Architecture Dependency Injection Middleware Structure Platform Agnostic
$ npm install -g @nestjs/cli $ nest new lego-house CREATE
/lego-house/.prettierrc (51 bytes) CREATE /lego-house/README.md (339 bytes) CREATE /lego-house/nodemon.json (147 bytes) CREATE /lego-house/package.json (1633 bytes) CREATE /lego-house/src/app.controller.spec.ts (639 bytes) CREATE /lego-house/src/app.controller.ts (266 bytes) CREATE /lego-house/src/app.module.ts (250 bytes) CREATE /lego-house/src/app.service.ts (138 bytes) CREATE /lego-house/src/main.hmr.ts (329 bytes) CREATE /lego-house/src/main.ts (208 bytes) CREATE /lego-house/test/app.e2e-spec.ts (593 bytes) CREATE /lego-house/test/jest-e2e.json (154 bytes) CREATE /lego-house/tsconfig.json (477 bytes) CREATE /lego-house/tslint.json (895 bytes) CREATE /lego-house/webpack.config.js (695 bytes) Naming
lego-house npm start
What’s (the good stuffs) in the project? Typescript Jest Nest
Core concepts Controllers Providers Modules Middleware Exception filters Pipes Guards
Interceptors https://docs.nestjs.com/first-steps Controllers Providers Modules Middleware
Let’s code!
Platform Agnostic GraphQL Microservices Web Sockets Building apps with several
transport layers & contexts
is Low entry threshold Fully featured Open source Compatibility
“It’s never on how difficult is to write bad code,
it’s on how easy is to write good code.”
https://speakerdeck.com/chybie/progressive-nest +
References: @kammysliwiec - https://speakerdeck.com/kamilmysliwiec/rethinking- enterprise-architectures-with-node-dot-js @Rafael_Casuso - https://www.slideshare.net/RafaelCasusoRomate/ solid-nodejs-with-typescript-jest-nestjs