Mô tả

About this Course

NodeJS is a platform that allows developers to write server side high performance and networked applications. And that too using good old Javascript. But wait ! Isn't Javascript meant to be used for forms and stuff on web pages ?

Well that was 10 years ago. The world has gone from 'Oops! You've not filled up the form properly !' days to today's modern web apps and social media sites that rely heavily on Javascript. Google Apps, Facebook, Twitter, Google Plus and LinkedIn, being handful examples of this movement. And to think that this quantum leap would not have been possible without Javascript is not an overstatement. Today, when you socialize with your friends on Facebook, or use your Gmail inbox, you're running thousands of lines of code written in Javascript, in your browser.

With Node JS, you can take this knowledge back on the server, where usually you would expect to see the likes of PHP, Ruby, ASP dot NET etc. But that's only a small portion of the reason why NodeJS is so cool. The fact that you can write full blown networked applications (think chat servers, collaborative tools, real-time data visualisation apps) with just a few lines of code is more than reason enough to not only look at NodeJS, but deep dive into it !

But I know PHP ? Why should I learn NodeJS ? Well, for starters, learning something new never hurts. But most importantly, learning NodeJS is great because :

  1. Node allows you to write highly scalable networked apps deployed on the cloud !
  2. You're working at a different level of application design per se with Node and that means that you're not writing an app that sits on top of a stack, you design the stack from the server up. And while that may sound daunting, it really is not and you'll see why.
  3. You code in the same language, both on the server and on the front end ! We're all polyglots (we use multiple programming languages and syntax in most of our projects), but managing code in the same language on the back-end and the front-end never hurts and in-fact can be a huge time saver when debugging.
  4. NodeJS is used by the likes of LinkedIn, Yahoo and Microsoft to name a few. Its pretty new and consequently you gain advantage from the exponentially growing community of NodeJS & Javascript developers and that's great fun, really !
  5. If you've been coding in Javascript, you can leverage your existing knowledge and skills and take it to a whole new level !


The Real Problem

So, NodeJS sounds pretty interesting so far, but what really hit me in the face when I was learning all about Node was the fact that, with any new platform, framework or technology, you need to take baby steps, all the way through, to making real world examples, if you have to get to the grips of it. And that leads us to why you're here.

In this course, we'll go from absolute scratch, all the way up to building and deploying full blown NodeJS app on the Cloud !

Project Oriented Learning

With NodeJS, we will build two full blown apps. We will go all the from concept creation, UI/UX design to coding and deploying our app on the cloud.

A. ChatCAT - One of the fun things that you can do with NodeJS is build realtime apps that allow a high number of concurrent users to interact with each other. Examples of this kind include Chat Servers, Gaming Servers, Collaborative Tools etc. We will build a multi-room chat server that allows users to login via Facebook, Create Chatrooms of their choice and Chat in realtime. We will not only create this app, but also deploy it on Heroku and Digital Ocean !

You will learn all about using Websockets, Structuring your App in an efficient manner, creating and using development & production configurations, Authentication using Facebook, Setting up an App on Facebook, Managing Sessions, Querying & Using a Hosted MongoDB Database, Using Heroku & Digital Ocean's Cloud Services and lots more...

B. PhotoGRID - The second complete app that we will build in this course is a Photo Gallery app which lets users upload images into a gallery with the ability to vote up the images that they like. This NodeJS app lets users upload files, which are then resized to thumbnails on the server and stored in an Amazon S3 Bucket for optimal delivery to the front end interface. The entire app runs on an Amazon EC2 Cloud Server which we will create from scratch and configure for use.

You will learn about managing file uploads using NodeJS & AJAX, Resizing Images on the Server, Accessing & Storing files in an S3 Bucket, Querying & Using a Hosted MongoDB Database, Using Amazon's Elastic IP Service & Cloudfront distribution, ensuring your NodeJS app runs automatically even if the server is restarted and lots more...

In the projects above, we leave no stone unturned in terms of execution. This is a complete hands-on course that is not just limited to NodeJS but to the ecosystem that needs attention when a NodeJS app is built and deployed. My intent is hand hold you all the way from writing your first app to deploying production level apps on the cloud.

And I'm always available to personally help you out, should you get stuck.

BONUS :: Here's the best thing about this course. The curriculum that you see gets you up and running with NodeJS & Cloud Deployment. However, there is so much more that you can do with NodeJS, which is why I will keep adding new lectures and sections to this course on an ongoing basis. There is so much more that you will get with full lifetime access to lectures and all updates !!

So, join in the fun !

Bạn sẽ học được gì

Build High Performance and Scalable Apps using NodeJS

Learn about ES6 with my free eBook - ECMAScript 6 QuickBytes

Use NodeJS Streams to write a Web Server

Use the Node Package Manager (NPM) for managing dependencies

Use the Express 4 Framework for building NodeJS Apps

Use the EJS templating language

Understand MongoDB as a NoSQL Database

Create & Use MongoDB Databases using services like MongoLab

Create Realtime Apps that use Web Sockets

Upload & Resize Images using NodeJS

Integrate Authentication using Social Media Sites like Facebook

Structure the NodeJS app into modules

Create and Deploy EC2 Cloud Server Instances on Amazon Web Services

Create and Use Amazon's S3 Storage Service with NodeJS

Use Amazon's Cloudfront Service

Using Amazon's Elastic IP

Configure Security Groups, Ports & Forwarding on Amazon EC2

Deploy a NodeJS app on the EC2 Instance

Deploy a NodeJS app on Heroku

Deploy a NodeJS app on Digital Ocean

Install & Deploy NGINX as a Reverse Proxy Server for NodeJS Apps

Configure NGINX as a Load Balancer

Learn about Enterprise Integration

Create an app using the incredible Hapi framework

Learn more about logging using the Hapi framework

Learn to use ES6 with Nodejs

Install & Deploy Apache Apollo MQ with Nodejs and a Python Script

Yêu cầu

  • Working knowledge of HTML, CSS and Javascript
  • Basic Working knowledge of an image editing application such as Adobe Photoshop would also help, but is not necessarily needed.

Nội dung khoá học

10 sections

Prologue

2 lectures
What is NodeJS ?
14:19
Before You Begin | ECMAScript 6 QuickBytes | Free eBook
01:58

Installing NodeJS

4 lectures
Installing NodeJS on Windows
01:55
Installing NodeJS on a Mac
01:42
Installing NodeJS on Linux (Ubuntu)
02:51
Installing and using muliple versions of NodeJS (Only on Mac/Linux)
05:16

NodeJS Fundamentals

13 lectures
Before You Begin : Important Note
01:12
Read-Evaluate-Print-Line | REPL & Hello Node !
03:23
Hello NodeJS
11:57
Hello Routing! | Understanding how Requests & Responses work
08:06
Hello Routing! | Handling GET Requests
17:44
Hello Routing! | Handling POST Requests
11:30
NodeJS at its core
02:51
Build a Web Server | Basic
20:43
Promise me you'll never callback
14:15
Build a Web Server | Using Streams
06:50
Modules & NPM
19:25
Writing your own Module!
17:25
Enigma v2
08:24

MongoDB 101

4 lectures
Introduction to MongoDB
09:55
Installing MongoDB on Windows
09:48
Installing MongoDB on a Mac
04:21
Playing with the MongoDB Shell
07:02

NodeJS Frameworks

3 lectures
What are frameworks?
08:33
Express and the MEAN Stack
06:49
Beyond the MEAN Stack
11:16

ChatCAT - Creating a Realtime Multiroom Chat App & Deploying it on Heroku

59 lectures
The Goal
04:22
Structuring the app
05:37
Examining the user interface
03:59
Installing Nodemon
03:36
npm init and here we go!
12:35
Hello Express!
11:17
Middleware Ahoy!
06:04
The View Renderer
12:24
Serving Static Assets
03:58
Express Router : First Steps
06:32
Express Router : The routes object
05:28
Express Router : Mounting the routes - 1
10:03
Express Router : Mounting the routes - 2
04:24
Express Router : Handling a 404
05:36
Do we need a database? Yes we do!
03:32
MongoDB as a service | MongoLab.com
07:13
Migrating to MongoDB Atlas - IMPORTANT
01:34
Environments and the config loader
08:26
Mongoose and the database module
04:12
Sessions 101
04:53
Implementing sessions using the express-session middleware
11:40
Social Authentication : An Introduction
05:13
Social Authentication : Introduction to Passport
08:50
Social Authentication : Installing Passport & Strategies
01:16
Social Authentication : Registering the app on Facebook
08:55
Social Authentication : Facebook Strategy
05:25
Social Authentication : Database helpers
10:44
Social Authentication : Serializing & deserializing user data
04:17
Social Authentication : Routes
04:48
Updates to Facebook Login | Enforcing HTTPS
00:26
Social Authentication : Rendering name and profile picture
02:05
Social Authentication : Registering the app with Twitter
04:22
Social Authentication : Twitter Strategy
02:11
Social Authentication : The logout button
01:57
Social Authentication : Securing routes
03:24
Socket.io | An introduction
07:22
Socket.io | Installation and rewiring the server
03:57
Socket.io | Storing chat rooms and user data
03:48
Socket.io | Bridging Socket.io with Session
02:25
Socket.io | Setting up the Rooms Page
06:26
Socket.IO | Rendering the list of chatrooms
07:28
Socket.IO | Creating a new chatroom
12:14
Socket.IO | The chatroom route
07:36
Socket.IO | Joining a chatroom
16:10
Socket.IO | Updating the list of active users
05:01
Socket.IO | When a user leaves or disconnects
05:12
Socket.IO | The chat functionality
09:17
Sending images using Cloudinary (Optional)
07:20
Socket.IO | Scaling with Redis
20:04
Logging with Winston
09:08
Logging requests using Morgan
03:31
Heroku | An introduction
06:56
Heroku | Installing the Heroku Toolbelt CLI
01:47
Heroku | Preparing for deployment
08:26
Heroku | Setting up configuration variables
03:45
Heroku | Provisioning Redis
02:40
Heroku | Reconfiguring Facebook & Twitter and Deployment!
04:17
Heroku | Monitoring your app
04:21
Scaling up - An insight | Summary
06:06

Node.JS on Amazon Web Services !

23 lectures
Introduction to Project PhotoGRID
05:11
IMPORTANT : Before you Begin
2 pages
Examining the User Interface & Getting Started
06:41
Creating the Express App & Setting up Socket.io
08:10
Creating the Routes.js module
01:46
Creating Configuration Files
03:02
Amazon Web Services | Signing Up & Creating an S3 Bucket
05:36
Amazon Web Services | Setting up a Bucket Policy
04:53
Amazon Web Services | Setting up Knox
05:04
Setting up the Upload Button Handler & AJAX
14:48
Setting up Formidable for Receiving the files
13:41
Setting up GraphicsMagick Library + gm for Nodejs for resizing images
05:16
Uploading resized images to the S3 using Knox
05:13
Storing the file name and votes in MongoDB on MongoLab
12:05
Getting images into the Photogrid gallery
15:36
Amazon Web Services | Setting up CloudFront Distribution
04:19
Creating the Vote Up Functionality & Final Testing
10:50
Amazon Web Services | Creating an Elastic Compute Cloud (EC2) Instance
05:58
Amazon Web Services | Installing NodeJS on EC2
04:38
Amazon Web Services | Creating an Elastic IP for your EC2 Instance
03:11
Amazon Web Services | Installing the Photogrid App on the EC2 Instance
06:55
Amazon Web Services | Security Group, Ports & Port Forwarding
14:07
Amazon Web Services | Ensuring the Photogrid app runs automatically
07:17

NodeJS and NGINX for the Kill !

7 lectures
What are we talking about ?
03:38
The Awesome Cloud9 IDE
07:12
Spinning a Droplet on Digital Ocean & Using Cloud9IDE
07:31
Installing Nginx
01:38
Nginx as a Proxy Server for NodeJS
07:55
Uploading and Reconfiguring ChatCAT to work with Nginx
06:02
Load Balancing with NGINX
03:59

Enterprise Integration | ES6 | HapiJS

19 lectures
Introduction to Enterprise Integration
10:56
The task at hand
07:56
Installing Python dependencies on a Mac
02:41
Installing Python dependencies on Windows
03:02
Installing Apache Apollo on a Mac
06:27
Installing Apache Apollo on Windows
05:35
Configuring Apache Apollo | Users and Queues
03:42
Introduction to the Hapi Framework
06:08
Hello Hapi and a bit of ES6
10:34
Writing the Core Plugin | Routes & Views
16:38
Setting up Socket.io
13:13
Setting up the Stomp Client & Storing Access Credentials
10:22
The 'Process' Button State
09:03
Core Functionality : The Workflow
04:02
Core Functionality : The Code
16:31
UPDATE : Fixing the Array.observe() deprecation issue
08:47
Fixing data retrieval on a page refresh
05:09
Logging using Hapi
07:12
Summary
02:29

Epilogue

2 lectures
Recommended Reading & Resources
1 page
BONUS : Join my inner circle of friends!
00:18

Đánh giá của học viên

Chưa có đánh giá
Course Rating
5
0%
4
0%
3
0%
2
0%
1
0%

Bình luận khách hàng

Viết Bình Luận

Bạn đánh giá khoá học này thế nào?

image

Đăng ký get khoá học Udemy - Unica - Gitiho giá chỉ 50k!

Get khoá học giá rẻ ngay trước khi bị fix.