Node with SocketIO: Build A Full Web Chat App From Scratch

Node with SocketIO: Build A Full Web Chat App From Scratch

English | MP4 | AVC 1280×720 | AAC 48KHz 2ch | 26.5 Hours | 3.21 GB

Build A Complete Chat App With Private and Group Chat Functionalities Using NodeJS, SocketIO, MongoDB, Express

The complete socket IO course will guide you through building your own real time web chat application from start to finish.The course uses tools like Express, Mongodb, Mongoose.

The best way to learn Node

Reading about Node is not just sufficient in learning but also by building real world apps. That is why this course is strictly project based from start to finish. At the end you’ll gain hands on experience in learning Node and socket IO.

You’ll be building a chat application using:

  • Node
  • Socket IO
  • NPM
  • Express
  • MongoDB
  • Mongoose
  • Amazon Web Service
  • RESTful API Design
  • Asynchronous programming
  • ES6 features like classes
  • Version control with Git
  • Github
  • App deployment with Heroku

What is an app if it is not online for people to use? That is why i’ll show you how to deploy your app to Heroku and also point your own domain to heroku app url or domain.

During the course you’ll learn:

  • Dependency injection with modules
  • Users local authentication with passport
  • Users social authentication with Facebook and Google
  • Amazon Web Service
  • Uploading files to AWS S3 buckets from your Node.js app
  • MongoDB aggregate method
  • Socket IO emitting and listening for events
  • Group chat functionality
  • Private chat functionality
  • Functionality to send and receive friend requests
  • Real time friend request and message notifications
  • Using third party API
  • App deployment to Heroku (You’ll see how to point your own domain to heroku app)
  • And more…
Table of Contents

Introduction
1 Introduction
2 Preview
3 Read Text
4 Tools For this Course
5 Please Ask Questions
6 Install Node

Setup Express and Dependable Modules
7 Setup Git Repo
8 NPM Initialization
9 Install Express Framework
10 Dependable Module Description
11 Install Dependency Injection Module
12 Preview
13 Export Dependency Container File
14 Preview
15 Setup Express
16 Add Express Promise Router
17 Express Configuration Function
18 Setup Users Get Route

Users Local Registration
19 Section Introduction
20 Install Modules For Project Setup
21 Install Passport Module
22 Signup Get Route
23 Add Signup Page and Form
24 User Model and Schema
25 Setup Passport For Local Authentication
26 Passport Local Signup
27 Encrypt Password
28 Signup Post Route
29 Create New User
30 Signup Validation – Part 1
31 Preview
32 Signup Validation – Part 2
33 Preview
34 Add Validation Function to Route
35 Display Signup Errors
36 User Login Form
37 Passport Local Login
38 Display Login Errors

Users Social Authentication
39 Section Introduction
40 Add Facebook Button
41 Style Facebook Button
42 Passport Facebook Strategy
43 Facebook Developers App
44 App Secret File
45 Facebook Passport Middleware
46 Passport Facebook Route
47 Fix Secret File Error
48 Signup User With Facebook
49 Facebook Login
50 Google Signup Button
51 Passport Google OAuth Strategy
52 Google Developers App
53 Google App Ids
54 Google Passport Middleware
55 Passport Google Route
56 Change Google OAuth Scope
57 Signup user With Google

Amazon Web Service Buckets
58 Section Introduction
59 Admin Group Form
60 Admin Page Route
61 Clubs Schema and Model
62 Upload File (Client Side) – Part 1
63 Upload File (Client Side) – Part 2
64 Formidable Module
65 Add File to Local Directory With Formidable
66 Upload File To Local Directory
67 Get Amazon Web Service Keys
68 Create AWS S3 Bucket
69 Install AWS SDK
70 AWS Upload File Functionality – Part 1
71 AWS Upload File Functionality – Part 2
72 Upload Any Method
73 Save Club Data to Database
74 Upload File to S3 Bucket
75 Preview
76 Section Conclusion

Home Page Section
77 Section Introduction
78 Home Page Controller
79 Add Home HTML File
80 Navbar Brand CSS
81 Navbar Link CSS
82 Style Filter Button
83 Install Async Module
84 Retrieve Club Data
85 Display Club Data
86 Retrieve Files Form S3 Bucket
87 Array Chunk Size
88 Display Array Chunks
89 MongoDB Aggregate Method Description
90 MongoDB Aggregate Function
91 Display Aggregate Result
92 Country Sort
93 Image Anchor Tag

Group Chat Section
94 Section Introduction
95 Preview
96 Add Group Chat Route
97 Group Chat Page HTML
98 Navbar Partials
99 Socket.io Description
100 Install Socket.io
101 Socket.io Client
102 Listen for First Connection Event
103 Emit Message Event
104 Listen for Message Event
105 Emit Join Event
106 Send Channel Message
107 Add Message Sender
108 Add HTML For Chat Display
109 Render Message With Mustache
110 ES6 Class Method – Part 1
111 ES6 Class Method – Part 2
112 User Class Add Method
113 Emit Users List
114 Display Users List
115 User Class Remove Method
116 Socket.io Disconnect Event
117 Number of Connected Users
118 Style Modal
119 Friend Request Logic
120 Username Display on Navbar
121 Friend Request Fields
122 Friend Request Files Setup
123 Display Username on Modal
124 Friend Request Join Event
125 Emit Friend Request Event
126 Listen for Friend Request Event
127 Group Chat Post Route
128 Receiver Document Update
129 Sender Document Update
130 Friend Request Dropdown
131 Get User Data
132 Display Request in Dropdown
133 Friend Request Notification
134 Add Sender Name
135 Accept Request Functionality
136 Update Receiver Function – Part 1
137 Update Receiver Function – Part 2
138 Add Ajax Method to Event
139 Cancel Request Functionality

Users Global Event
140 Add Navbar to Home Page
141 Add to Favorite Ajax Method
142 Add to Favorite Post Route
143 Create Global Class
144 Emit Global Room Event
145 Emit Global Users
146 Logged in Users Event
147 Display Logged in Friend Name
148 Style Friend Name
149 Global Room Disconnection
150 Logout Functionality
151 Filter Results Page
152 Filter Results Post Route
153 Search Results
154 Replace URL Space

Private Chat Section
155 Section Introduction
156 Preview
157 Private Chat Route
158 Private Chat Template
159 Fix Private Chat URL
160 Deparam Function
161 Swap Function
162 Emit Private Chat Join Event
163 Display Private Chat
164 Display Username
165 Message Dropdown
166 Private Message Schema and Model
167 Private Chat Post Route
168 Save Private Message to Database
169 Message Aggregate Functionality
170 Display Aggregate Results
171 Display Number of Messages
172 Display Messages in Dropdown
173 Message Refresh Event
174 Get User Private Messages
175 Display Private Messages in Database
176 Add Data Value Property
177 Update Private Message Collection
178 Display PM on Home Navbar
179 Display PM on Group Chat Navbar
180 Group Chat Message Schema
181 Save Group Messages to Database
182 Fix Name Field in Database
183 Display Group Messages From Database
184 Members Page
185 Search Users
186 Function to Swap Two Values

Users Profile Section
187 Section Introduction
188 User Profile Page
189 Profile Page HTML
190 New Properties in User Model
191 Profile Page Navbar
192 User Profile Image Upload
193 Upload Profile Image to AWS
194 Profile Page Ajax Method
195 Profile Page Post Route
196 Display Profile Image
197 Automatic Display of Profile Pic
198 Update Profile Route
199 Display User Data
200 Add User Interest Page
201 Interest Page HTML
202 Favorite Club Ajax Method
203 Save Favorite Club Data to Database
204 Display Favorite Clubs
205 Save and Display Favorite Players
206 Display Favorite National Teams
207 User’s Overview Page
208 Fix Overview Page Issue
209 Overview Page Post Route
210 Display Images
211 Display Images in Dropdown – Part 1
212 Display Images in Dropdown – Part 2
213 Add CSS to Users Images
214 Display User Image on Private Chat Page
215 Display Friend Request Images

Football News Section
216 Section Introduction
217 Preview
218 News Get Route
219 HTML Code For News Page
220 Guardian API
221 Display News Images
222 Display Football News Headlines
223 Display News Summary
224 Add Image Responsive Class
225 Add CSS Styles to Date
226 Format Date
227 Load More Button
228 Load More Button CSS
229 Load More Data Functionality
230 Back to Top Functionality
231 Change Animate Time

Heroku Deployment
232 Section Introduction
233 Preview
234 Helmet and Compression Modules
235 Create Database in Mlab
236 Add Clubs Collection
237 Environment Variables
238 Git Push
239 Create heroku App
240 Create Procfile
241 Install Forever Module
242 Add Config vars to Heroku App
243 Fix Config Vars Errors
244 Setup Heroku Automatic Deploy
245 Point Domain to Heroku
246 Add Naked Domain
247 Enable Session Affinity