Hi everyone.
Welcome to the new course about NestJS
In this course, we will build the real time social media application using the WebSocket.
Okay, now you might hear somewhere, in order to create some real time stuff, we need to use the websockets.
But why?
Why?
We need to use the WebSockets.
So for that reason, in this course I will use the strong foundation for you.
Okay, I will teach you the core concept of the websockets and fundamental about them.
Now let's look at the content of this course.
In the first session we will understand the WebSockets fundamentals, what difference between the http
and WebSockets protocol and how we can build the chat application using the normal http protocol.
After this thing, you will understand the some limitation about the http protocol and you will answer the
question why?
Okay why we need the websockets
After that we will go to the TCP handshake process.
What exactly about that and after that
We need to upgrade from the http protocol to WebSocket protocol using the http handshake process.
I will show you what exactly about that.
Okay.
So this is the fundamental section.
After this session you will We understand the core concept of WebSocket and how it works behind the
scenes.
Okay, this is a very useful section.
Please don't skip that.
After that, we need to practice a little bit.
Right.
We need to understand how we can open the WebSocket connection, how we can work to send and receive
data.
Okay.
And the very important lesson about here will be the what exactly about the socket.
Okay.
I will show you in this section.
And after we already learned the fundamentals, let's create the application using the Socket.io library
okay.
In this session I will explain for you why we need this socket io, instead of just using the normal
websocket
Look at how we can interact between the socket.io like send and receive data.
Okay.
I will show you, uh, what the product is and also build a chat application.
Okay.
And after that, we need to understand the room, how we can create a group chat.
Okay.
After that, we will understand the namespace and how we can show the some user online in the application.
So after this section you will understand how to work with Socket.io library okay.
Now after that we need to learn about Nestjs fundamentals.
Now, if you never learn about the NestJS before, in the next section right here, I will show you.
About NestJS
Okay.
How to learn that
What is the core concept of the NestJS like providers or inversion of controls, and how we can apply them
in NestJS
And what exactly about dependency injection and how we can work with modules?
Okay.
And some very important stuff over here.
So that about the core concept.
After that we need to learn about one more fundamental will be the data transfer object.
DTO okay, so in this section I will show you how we can work with the DTO effectively.
Okay.
So the data transfer object is a very important section.
Please don't skip that okay.
Many
Backend framework out there using the technique is called data transfer object.
And I will show you how we can work with them in this section.
Okay.
And in future when we build the real world project we only apply the transfer object everywhere okay.
So for that reason make sure you will learn about that.
After that we need to set up the project for social media.
And right here you can see we have so many modules over here like authentication and authorization are
Of course in this core.
I will show you how we can generate the JSON web token to do the authentication.
Okay.
And one more important thing will be the reflector.
What exactly about us?
I will show you how we can assign the some metadata into the specific methods using the reflector techniques.
Okay.
And after that, let's work with the Post.
This is a very important module of the social media okay.
And also I will show you how we can upload the media files right, now in the upload.
Media file
I will show you.
Set up the cloudinary.
Okay.
This is the most production application right now.
I will show you how to do that.
How?
We can upload multiple files.
Okay.
And how to add the media file to most.
And very important will be the pagination. Since
We will use the real time social media API.
We will not apply the normal pagination technique like skip and limits.
Okay.
Instead of I will show you the one more thing.
This will be the cursor pagination.
Okay.
What exactly about that?
I will show you in this section.
The reason we need a cursor pagination.
Because in Later, when we work with front end, we want it will infinite scroll, right?
So for that reason we need to use the technique cursor pagination.
After that we need to build the reaction module.
Okay I will show you how we can think about them.
Okay.
How we can create the reaction schema.
Think about the schema structure of that.
After that will be the comment.
I will show you how we can create the comment for the post over here.
And we have a user module.
And also we have a friends.
I will show you how we can send the friend request, how we can accept them, cancel and reject that.
Okay.
And right here, very important section will be the conversation and message. In any social media application.
It always have a conversation and message.
Okay.
How we can talk with other friends.
How we can send a message with them.
Okay.
I will show you in this section, what exactly about the conversation, why we need them, how we can
create some private conversation or the group conversations.
Okay.
How we can add the some member into the group chat and remove them also.
Right.
So after that we need to build the message module.
How we can send a message inside the conversations over here.
Okay.
What is the relationship between the message and conversation?
I will explain very detailed in that section.
And also update message or delete messages okay.
Or seen message over here.
And now after we already done with the core module of the social media application, we need to understand
what exactly about the WebSocket gateways to handle the some real time stuff.
In this section, I will show you what is exactly about the gateway in NestJS, how we can apply them
in the real world project.
And one more important thing Is how we can think about the socket data structure to send for the client.
Okay.
This is a very important skill as a backend developer.
I will show you how we can think from the front end perspective.
Okay, I will show you how the front end can consume the data about the server.
Okay.
And from that we will build some socket data and send to the client.
Okay.
I want to show you that because in later when you work with your project you can apply them okay.
Instead of just showing you send some data and you will not understand why we need to send that data.
I will show you how we can think independently.
Okay.
After that, we need to handle some real time for the message over here.
And also handle the real time for post, like create post, okay, or upload the media okay, or add
reactions into the post, all of that
We need the real time, right?
And after that we need to real time for the comment like create comment, update or delete comment.
After that we do real time for gateway.
also right, like send friend request accept them.
Okay everything in this.
section
After that, we will build some notification system.
Okay.
How?
We can create a schema or create a notification.
And also I will show you how we can apply the techniques call global module in this section.
After that we need to handle the post privacy.
Okay.
When we create the post I want, it can change the privacy from like public to friends or private.
Okay.
That's about the privacy.
So that's it. That is the contents of this course.
And so I will see you in this course.