Socket.IO and TypeScript
What you'll learn
- TypeScript Annotations, Types, Interfaces, Classes
- TSC and tsconfig for browsers and NodeJS environments
- Setup NodeMon and Concurrently
- NPM, NodeJS and package json
- Understand SocketIO communications between the Server and Clients while writing it all in TypeScript
- Build an example multiplayer, realtime mini game along with a chat component that allows players to guess the lucky numbner and win/lose points accordingly
- You'll get exposure to Bootstrap, jQuery, HTML and CSS animations
- Learn about Express and serving static content through NodeJS
- Learn how to build robust and interactive applications using TypeScript and SocketIO
- Provision and Deploy to a cloud server, Setup Nginx proxy, Point a Domain Name and Add SSL
Requirements
- Desire to code games and interactive content
- Access to a PC, Mac or Linux with ability to install software such as VSCode, Git and NodeJS
Description
In this course you will learn about how to use Socket.IO in order to create multiplayer real-time interactive content that runs in the browser and on the web. We will also write it using TypeScript.
At the start of the course, there is a TypeScript crash course, suitable for those with no experience at all of using TypeScript. It will cover the most common and major concepts of TypeScript that are applicable to all TypeScript projects and will be used throughout the remainder of this course.
Then, we will move onto learning about Socket.IO, and covering the major features that are also applicable to all Socket.IO projects, and will also be demonstrated throughout the remainder of this course.
Then we will apply all of the Socket.IO concepts we've learned so far, to create our selves a complete working multiplayer, real-time game example with several game configurations running concurrently, with client and server components and hosted using NodeJS.
We will also deploy the finished project to a cloud server, run it behind an Nginx proxy, point a domain name and install an SSL certificate.
When creating the main course project you will also get exposure to Bootstrap, jQuery, HTML and CSS animations.
You don't need any experience to take this course, since all the code is provided in the accompanying documentation that will be presented to you in a gradual format as each lesson progresses to the next.
Before taking this course, note that executing code snippets, copied from the supplied documentation is a major part of this course. The examples provided in the course were 100% created by me and were explicitly created for use in this course. You are invited to experiment with each new code addition after each lesson, by changing parameters and deleting or extending sections, in order to understand more about what each new addition of the project is doing.
So if you know that you like coding, you like seeing it work for yourself, you like to experiment, and have millions of ideas that you want to achieve, then this course is for you. Because at the end of the course, you would have built a generic working prototype that demonstrates many of the concepts involved in creating multiplayer real-time interactive content that runs in the browser and on the web.
Thanks for taking part in my course, and I will see you there.
Who this course is for:
- Beginner Coders
- People interested in SocketIO and TypeScript
- People interested in creating real-time interactive multiplayer games
Course content
- Preview02:05
- 01:41Install TypeScript
- Preview05:28
- 04:21Type Annotations
- 07:43Interfaces
- 04:16Classes
- 01:45Run it in the Browser
- 03:54Create the Socket IO Project
- 03:48Install Dependencies and Types
- 05:12Compile, Run and Setup tsconfig.json
- Preview06:16
- 09:27Create the SocketIO Client
- 03:46Use TypeScript to Generate Client JavaScript
- 03:07Server Connection and Disconnect Events
- 04:26Server Socket Emit
- 01:44Server Socket Broadcast
- 03:49Server IO Emit
- 05:16Server Emit to Specific Socket
- 04:37Client Connect and Disconnect Events
- 05:57Client Emit
- Preview01:56
- 06:49Install Bootstrap
- 03:43Setup Initial HTML Layout
- 05:31Add Custom CSS
- 09:59Add Chat Functionality
- 05:50Add Screen Name Functionality
- 06:21Create a Player Object and Score Property
- 11:28Build the Basic Game Engine
- 06:15Push Game Events to Chat
- 06:35Generate Result in the Game Engine
- 11:45Add Guessing Buttons
- 12:12Add Winnings Functionality
- 00:52Deploying to Production
- 02:46Create the Start Script
- 03:05Provision a Cloud Server for Production
- 04:32Deploy Files to the Server
- 06:16Start the Games on the server
- 08:44Install Nginx Proxy
- 02:30Point a Domain Name
- 06:31Add SSL
Instructor
Hello, I'm Sean.
For over 20 years I have been an IT engineer building and managing real time, low latency, high availability, asynchronous, multi threaded, remotely managed, fully automated, monitored solutions in the education, aeronautical, banking, drone, gaming and telecommunications industries.
I have also created and written hundreds of Open Source GitHub Repositories, Medium Articles and YouTube video tutorials.