mean stack c0nrad. overview day 1: – mean stack – nodejs mini cat fact spammer – mongodb cat...
TRANSCRIPT
![Page 1: MEAN Stack c0nrad. Overview Day 1: – MEAN Stack – NodeJS Mini Cat Fact Spammer – MongoDB Cat Profiles – Express Catbook API (Facebook for cats) Day 2:](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649e2a5503460f94b18c3f/html5/thumbnails/1.jpg)
MEAN Stack
c0nrad
![Page 2: MEAN Stack c0nrad. Overview Day 1: – MEAN Stack – NodeJS Mini Cat Fact Spammer – MongoDB Cat Profiles – Express Catbook API (Facebook for cats) Day 2:](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649e2a5503460f94b18c3f/html5/thumbnails/2.jpg)
Overview
• Day 1:– MEAN Stack– NodeJS
• Mini Cat Fact Spammer
– MongoDB• Cat Profiles
– Express• Catbook API (Facebook for cats)
• Day 2:– AngularJS– CatBook
“Newb’s guide to webscale”
![Page 3: MEAN Stack c0nrad. Overview Day 1: – MEAN Stack – NodeJS Mini Cat Fact Spammer – MongoDB Cat Profiles – Express Catbook API (Facebook for cats) Day 2:](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649e2a5503460f94b18c3f/html5/thumbnails/3.jpg)
Mom: “Why can’t you read porn like a normal boy?”
![Page 4: MEAN Stack c0nrad. Overview Day 1: – MEAN Stack – NodeJS Mini Cat Fact Spammer – MongoDB Cat Profiles – Express Catbook API (Facebook for cats) Day 2:](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649e2a5503460f94b18c3f/html5/thumbnails/4.jpg)
Kiss me and you’ll see how important I am
![Page 5: MEAN Stack c0nrad. Overview Day 1: – MEAN Stack – NodeJS Mini Cat Fact Spammer – MongoDB Cat Profiles – Express Catbook API (Facebook for cats) Day 2:](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649e2a5503460f94b18c3f/html5/thumbnails/5.jpg)
Disclaimer
• I’m not an expert in these stuff, I just write a lot of code and I enjoy MEAN stack.
![Page 6: MEAN Stack c0nrad. Overview Day 1: – MEAN Stack – NodeJS Mini Cat Fact Spammer – MongoDB Cat Profiles – Express Catbook API (Facebook for cats) Day 2:](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649e2a5503460f94b18c3f/html5/thumbnails/6.jpg)
MEAN Stack
• MongoDB– Daterbaser
• Express– Web framework
• AngularJS– Client Side Framework
• NodeJS– Web server
![Page 7: MEAN Stack c0nrad. Overview Day 1: – MEAN Stack – NodeJS Mini Cat Fact Spammer – MongoDB Cat Profiles – Express Catbook API (Facebook for cats) Day 2:](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649e2a5503460f94b18c3f/html5/thumbnails/7.jpg)
MEAN
• MongoDB– Daterbaser
• Express– Web framework
• AngularJS– Client Side Framework
• NodeJS– Web server
![Page 8: MEAN Stack c0nrad. Overview Day 1: – MEAN Stack – NodeJS Mini Cat Fact Spammer – MongoDB Cat Profiles – Express Catbook API (Facebook for cats) Day 2:](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649e2a5503460f94b18c3f/html5/thumbnails/8.jpg)
![Page 9: MEAN Stack c0nrad. Overview Day 1: – MEAN Stack – NodeJS Mini Cat Fact Spammer – MongoDB Cat Profiles – Express Catbook API (Facebook for cats) Day 2:](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649e2a5503460f94b18c3f/html5/thumbnails/9.jpg)
NodeJS
![Page 10: MEAN Stack c0nrad. Overview Day 1: – MEAN Stack – NodeJS Mini Cat Fact Spammer – MongoDB Cat Profiles – Express Catbook API (Facebook for cats) Day 2:](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649e2a5503460f94b18c3f/html5/thumbnails/10.jpg)
NodeJS• platform built on Chrome's JavaScript runtime for easily
building fast, scalable network applications• uses an event-driven, non-blocking I/O model
• lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices
• used by Groupon, SAP, LinkedIn, Microsoft, Yahoo!, Walmart, Rakuten and PayPal.
• NPM – node package manager
![Page 11: MEAN Stack c0nrad. Overview Day 1: – MEAN Stack – NodeJS Mini Cat Fact Spammer – MongoDB Cat Profiles – Express Catbook API (Facebook for cats) Day 2:](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649e2a5503460f94b18c3f/html5/thumbnails/11.jpg)
How does one Asynchronous?
![Page 12: MEAN Stack c0nrad. Overview Day 1: – MEAN Stack – NodeJS Mini Cat Fact Spammer – MongoDB Cat Profiles – Express Catbook API (Facebook for cats) Day 2:](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649e2a5503460f94b18c3f/html5/thumbnails/12.jpg)
NodeJS
so I herd u liek catfactz
![Page 13: MEAN Stack c0nrad. Overview Day 1: – MEAN Stack – NodeJS Mini Cat Fact Spammer – MongoDB Cat Profiles – Express Catbook API (Facebook for cats) Day 2:](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649e2a5503460f94b18c3f/html5/thumbnails/13.jpg)
MongoDB
• Stores data in a flexable data document (json)
• WebScale• Craigslist, eBay,
Foursquare, SourceForge, Viacom, and the New York Times, among others.
• MongoDB is the most popular NoSQL database system.
• Ad hoc queries• Indexing (secondary
indexing)• Replication• Load balancing• Aggregation framework• Serverside javascript• Capped collections
![Page 14: MEAN Stack c0nrad. Overview Day 1: – MEAN Stack – NodeJS Mini Cat Fact Spammer – MongoDB Cat Profiles – Express Catbook API (Facebook for cats) Day 2:](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649e2a5503460f94b18c3f/html5/thumbnails/14.jpg)
MongoDB
• Mongo vs MongoD• DB– Collections
• Documents– Fields
• show dbs• use db• show collections• db.cats.insert()• db.cats.find()• db.cats.remove()• db.cats.update()– $set
CODE TIME
![Page 15: MEAN Stack c0nrad. Overview Day 1: – MEAN Stack – NodeJS Mini Cat Fact Spammer – MongoDB Cat Profiles – Express Catbook API (Facebook for cats) Day 2:](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649e2a5503460f94b18c3f/html5/thumbnails/15.jpg)
Mongoose
• NodeJS Driver• schema-based solution for modeling data – built-in type casting– validation,– query building– business logic hooks and more.
![Page 16: MEAN Stack c0nrad. Overview Day 1: – MEAN Stack – NodeJS Mini Cat Fact Spammer – MongoDB Cat Profiles – Express Catbook API (Facebook for cats) Day 2:](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649e2a5503460f94b18c3f/html5/thumbnails/16.jpg)
Mongoose
![Page 17: MEAN Stack c0nrad. Overview Day 1: – MEAN Stack – NodeJS Mini Cat Fact Spammer – MongoDB Cat Profiles – Express Catbook API (Facebook for cats) Day 2:](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649e2a5503460f94b18c3f/html5/thumbnails/17.jpg)
NodeJS without Express
Missing routing, packages, params, and who wants to set content type?
![Page 18: MEAN Stack c0nrad. Overview Day 1: – MEAN Stack – NodeJS Mini Cat Fact Spammer – MongoDB Cat Profiles – Express Catbook API (Facebook for cats) Day 2:](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649e2a5503460f94b18c3f/html5/thumbnails/18.jpg)
Express
• Fast, unopinionated, minimalist web framework for Node.js
• Most popular by far– Robust routing– Focus on high performance– Super-high test coverage– HTTP helpers (redirection, caching, etc)– View system supporting 14+ template engines– Content negotiation– Executable for generating applications quickly
![Page 19: MEAN Stack c0nrad. Overview Day 1: – MEAN Stack – NodeJS Mini Cat Fact Spammer – MongoDB Cat Profiles – Express Catbook API (Facebook for cats) Day 2:](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649e2a5503460f94b18c3f/html5/thumbnails/19.jpg)
Express
• My favorite benefits– HTTP Routing
• Verbs• Params
– Middleware– Configuration/Packages– Sessions– More funner!
![Page 20: MEAN Stack c0nrad. Overview Day 1: – MEAN Stack – NodeJS Mini Cat Fact Spammer – MongoDB Cat Profiles – Express Catbook API (Facebook for cats) Day 2:](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649e2a5503460f94b18c3f/html5/thumbnails/20.jpg)
API
• Application Programmers Interface• It’s how you interact with the data• RESTful (Representational State Transfer)– GET: Give me the data– PUT: Update the data– POST: Create some new data– DELETE: Delete the data
![Page 21: MEAN Stack c0nrad. Overview Day 1: – MEAN Stack – NodeJS Mini Cat Fact Spammer – MongoDB Cat Profiles – Express Catbook API (Facebook for cats) Day 2:](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649e2a5503460f94b18c3f/html5/thumbnails/21.jpg)
![Page 22: MEAN Stack c0nrad. Overview Day 1: – MEAN Stack – NodeJS Mini Cat Fact Spammer – MongoDB Cat Profiles – Express Catbook API (Facebook for cats) Day 2:](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649e2a5503460f94b18c3f/html5/thumbnails/22.jpg)
CatBook API
• Mongoose Model• Cat API:
– GET /api/cats • Get a list of kittens
– GET /api/cat/:id• Get a specific kitten
– POST /api/cat• Add a new kitten
– PUT /api/cat/:id• Update a kitten
– DELETE /api/cat/:id• Delete a kitten
• “You got meow”• Meow API:– POST /api/meow– GET /api/cat/meows
![Page 23: MEAN Stack c0nrad. Overview Day 1: – MEAN Stack – NodeJS Mini Cat Fact Spammer – MongoDB Cat Profiles – Express Catbook API (Facebook for cats) Day 2:](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649e2a5503460f94b18c3f/html5/thumbnails/23.jpg)
Conclusion
• MEAN (err, MEN)• SPA• RESTful API• MongoDB – Find Update Insert Remove• NodeJS/NPM – Web Server• Express – Minimal Web Framework
![Page 24: MEAN Stack c0nrad. Overview Day 1: – MEAN Stack – NodeJS Mini Cat Fact Spammer – MongoDB Cat Profiles – Express Catbook API (Facebook for cats) Day 2:](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649e2a5503460f94b18c3f/html5/thumbnails/24.jpg)
Next Week
• We build Catbook– AngularJS– Bootstrap– HTML/CSS/JS
• Deploy to Heroku