INTRO TO NODE Jamal O’Garro Code Crew Software Engineer + Instructor CODE CREW | INTRO TO NODE.JS
CLASS ROADMAP • Node Basics • Web Servers • Express.js • MongoDB • Mongoose • Build a Simple App • Look at a Larger App CODE CREW | INTRO TO NODE.JS
EXPECTATIONS CODE CREW | INTRO TO NODE.JS • Familiar with JavaScript • Familiar with the concept of databases • Basic web development principles
TRADITIONAL WEB DEVELOPMENT CODE CREW | INTRO TO NODE.JS
MODERN DAY WEB DEVELOPMENT CODE CREW | INTRO TO NODE.JS
JAVASCRIPT REVIEW • Created by Netscape • Runs in browser & server • Is actually named ECMAScript CODE CREW | INTRO TO NODE.JS
NODE.JS BASICS CODE CREW | INTRO TO NODE.JS • Server-side JavaScript • Built on top of V8 • Created by Ryan Dahl • Open Source • Asynchronous • Single-threaded
WHAT IS NODE GOOD FOR? CODE CREW | INTRO TO NODE.JS • Highly concurrent environments • Real-time apps (i.e. chat rooms) • Building CRUD applications • Teams that want to make their front-end engineers full stack as fast a possible
ASYNCHRONOUS PROGRAMMING CODE CREW | INTRO TO NODE.JS
EVENT LOOP CODE CREW | INTRO TO NODE.JS
HELLO NODE! CODE CREW | INTRO TO NODE.JS
NPM CODE CREW | INTRO TO NODE.JS
CONNECT CODE CREW | INTRO TO NODE.JS • Middleware framework for Node • Used for building web servers • Abstracts a lot of HTTP for you
NODE FRAMEWORKS CODE CREW | INTRO TO NODE.JS
EXPRESS CODE CREW | INTRO TO NODE.JS • Lightweight web framework • Inspired by Sinatra • Flexible and doesn’t force conventions • Fully asynchronous • Loads application in memory and listens for requests
WHY USE EXPRESS? CODE CREW | INTRO TO NODE.JS • Inspired by Sinatra • Flexible framework that doesn’t force conventions • Fully asynchronous • Easy to learn • Easily extendable
MVC ARCHITECTURE DATABASE BROWSER CONTROLLER VIEW MODEL CODE CREW | INTRO TO NODE.JS
ROUTER CODE CREW | INTRO TO NODE.JS
REST CODE CREW | INTRO TO NODE.JS
CRUD • Create • Read • Update • Destroy CODE CREW | INTRO TO NODE.JS
MONGODB CODE CREW | INTRO TO NODE.JS
MONGOOSE CODE CREW | INTRO TO NODE.JS • Object Document Mapper • Allows us to create models to organize our data • Provides a schema for your MongoDB database • Also provides validations • Simulate joins • Convenience methods for querying data from MongoDB
LET’S BUILD OUR APP! CODE CREW | INTRO TO NODE.JS
MEAN STACK CODE CREW | INTRO TO NODE.JS
LET’S LOOK A MORE COMPLEX APP! CODE CREW | INTRO TO NODE.JS
THANKS MUCH!!! Jamal O’Garro Code Crew Software Engineer + Instructor CODE CREW | INTRO TO NODE.JS

Intro to Node.js