Prologue
  • What is NodeJS ?
  • Before You Begin | ECMAScript 6 QuickBytes | Free eBook
Installing NodeJS
  • Installing NodeJS on Windows
  • Installing NodeJS on a Mac
  • Installing NodeJS on Linux (Ubuntu)
  • Installing and using muliple versions of NodeJS (Only on Mac/Linux)
NodeJS Fundamentals
  • Before You Begin : Important Note
  • Read-Evaluate-Print-Line | REPL & Hello Node !
  • Hello NodeJS
  • Hello Routing! | Understanding how Requests & Responses work
  • Hello Routing! | Handling GET Requests
  • Hello Routing! | Handling POST Requests
  • NodeJS at its core
  • Build a Web Server | Basic
  • Promise me you'll never callback
  • Build a Web Server | Using Streams
  • Modules & NPM
  • Writing your own Module!
  • Enigma v2
MongoDB 101
  • Introduction to MongoDB
  • Installing MongoDB on Windows
  • Installing MongoDB on a Mac
  • Playing with the MongoDB Shell
NodeJS Frameworks
  • What are frameworks?
  • Express and the MEAN Stack
  • Beyond the MEAN Stack
ChatCAT - Creating a Realtime Multiroom Chat App & Deploying it on Heroku
  • The Goal
  • Structuring the app
  • Examining the user interface
  • Installing Nodemon
  • npm init and here we go!
  • Hello Express!
  • Middleware Ahoy!
  • The View Renderer
  • Serving Static Assets
  • Express Router : First Steps
  • Express Router : The routes object
  • Express Router : Mounting the routes - 1
  • Express Router : Mounting the routes - 2
  • Express Router : Handling a 404
  • Do we need a database? Yes we do!
  • MongoDB as a service | MongoLab.com
  • Migrating to MongoDB Atlas - IMPORTANT
  • Environments and the config loader
  • Mongoose and the database module
  • Sessions 101
  • Implementing sessions using the express-session middleware
  • Social Authentication : An Introduction
  • Social Authentication : Introduction to Passport
  • Social Authentication : Installing Passport & Strategies
  • Social Authentication : Registering the app on Facebook
  • Social Authentication : Facebook Strategy
  • Social Authentication : Database helpers
  • Social Authentication : Serializing & deserializing user data
  • Social Authentication : Routes
  • Updates to Facebook Login | Enforcing HTTPS
  • Social Authentication : Rendering name and profile picture
  • Social Authentication : Registering the app with Twitter
  • Social Authentication : Twitter Strategy
  • Social Authentication : The logout button
  • Social Authentication : Securing routes
  • Socket.io | An introduction
  • Socket.io | Installation and rewiring the server
  • Socket.io | Storing chat rooms and user data
  • Socket.io | Bridging Socket.io with Session
  • Socket.io | Setting up the Rooms Page
  • Socket.IO | Rendering the list of chatrooms
  • Socket.IO | Creating a new chatroom
  • Socket.IO | The chatroom route
  • Socket.IO | Joining a chatroom
  • Socket.IO | Updating the list of active users
  • Socket.IO | When a user leaves or disconnects
  • Socket.IO | The chat functionality
  • Sending images using Cloudinary (Optional)
  • Socket.IO | Scaling with Redis
  • Logging with Winston
  • Logging requests using Morgan
  • Heroku | An introduction
  • Heroku | Installing the Heroku Toolbelt CLI
  • Heroku | Preparing for deployment
  • Heroku | Setting up configuration variables
  • Heroku | Provisioning Redis
  • Heroku | Reconfiguring Facebook & Twitter and Deployment!
  • Heroku | Monitoring your app
  • Scaling up - An insight | Summary
Node.JS on Amazon Web Services !
  • Introduction to Project PhotoGRID
  • IMPORTANT : Before you Begin
  • Examining the User Interface & Getting Started
  • Creating the Express App & Setting up Socket.io
  • Creating the Routes.js module
  • Creating Configuration Files
  • Amazon Web Services | Signing Up & Creating an S3 Bucket
  • Amazon Web Services | Setting up a Bucket Policy