Build a Real Time Chat App With React + NestJS & GraphQL

Build a full-stack, scaleable, production grade web app following best practices. Includes continuous delivery on AWS.

Ratings 4.76 / 5.00
Build a Real Time Chat App With React + NestJS & GraphQL

What You Will Learn!

  • Build & deploy a real-time messaging web application
  • Implement JWT authentication on the backend & UI
  • Use Material UI to develop a consistent & responsive UI
  • Develop a GraphQL API for CRUD functionality
  • Save data using MongoDB & the Abstract Repository pattern
  • Execute automatic DB migrations
  • Use Apollo Client to manage UI state & cache application data
  • Use GraphQL WebSocket Subscriptions to publish & consume messages in real time
  • Custom UI routing with React Router
  • Use code generation tools to automatically generate types from GraphQL schema
  • Implement server-side pagination to implement infinite scrolling
  • Use MongoDB aggregation to perform single operation lookups & DB calls
  • File upload to Amazon S3
  • Production deployment to AWS all on free-tier
  • Continuous Delivery & CI/CD
  • Connect a Pub/Sub app to Redis to allow for distributed messages & horizontal scaling
  • Connect a app to a custom domain & secure HTTPS traffic

Description

In this course, we go beyond the documentation & small simple starter apps to build a real-world full-stack chatting application. This application is built from the ground up to be scaleable & production-grade. The goal of the course is for you to be comfortable developing full-stack web apps so you can develop your own afterward.

We use a NestJS backend, a popular Node.js library that allows us to quickly create clean-code HTTP APIs. Our CRUD functionality will be served by a GraphQL API that persists data using a MongoDB database. We'll use this same GraphQL API to create our messaging subscription which allows for WebSocket connection to our UI to facilitate messaging. Of course, everything will be secured with industry-standard JWT auth.

On the UI we will create a React App using the beautiful Material UI to easily create a responsive UI and interact with our backend. We'll choose Apollo Client for state management so we can easily interact with our GraphQL API & cache data.

Finally, all of this will be deployed onto AWS Elastic Beanstalk & Amplify. Backed by a continuous delivery CI/CD pipeline, whenever we push code our latest changes will get built & deployed to our environment of choice.

By the end of the project, you will have learned everything you need to get started in building & deploying your very own production-grade web apps!

Who Should Attend!

  • Intermediate developers looking to learn best practices for building & deploying a scaleable, production grade web app
  • Intermediate developers looking to learn how to deploy a web app on AWS with continuous delivery

TAKE THIS COURSE

Tags

Subscribers

510

Lectures

76

TAKE THIS COURSE