We may earn an affiliate commission when you visit our partners.
Course image
Uzochukwu Eddie Odozi

In building large scale applications intended for growth, microservices architecture is the go-to solution. One issue for Javascript and NodeJS learners is the few courses and/or resources to teach event-driven microservices with NodeJS and Typescript. This course was designed to show you how to setup and build a large scale event-driven microservices application using React and Typescript on the client side and NodeJS and Typescript on the server side.

Read more

In building large scale applications intended for growth, microservices architecture is the go-to solution. One issue for Javascript and NodeJS learners is the few courses and/or resources to teach event-driven microservices with NodeJS and Typescript. This course was designed to show you how to setup and build a large scale event-driven microservices application using React and Typescript on the client side and NodeJS and Typescript on the server side.

This course is a fullstack course that focuses on developing microservices and connecting them to a client web application and it follows a hands-on approach or 'learn-by-doing, which means the whole course is structured around building a fullstack web application and the different concepts will be explained detailedly as they are introduced.

What's this course about?

This course is about building a complete ecommerce freelance marketplace from scratch using popular development tools and the microservices architecural patterns. The curriculum for this course is going to be very hands on as we walk from start to finish building and deploying the application to production. The course is structured into 4 main parts:

  • Development of microservices and client application

  • Deployment to kubernetes

  • CI/CD pipeline with Jenkins

  • Monitoring and logs management

Each structure is broken down into its sections.

  • Microservices development

    • API gateway

    • Notification service

    • Authentication service

    • Users service

    • Gig service

    • Chat service

    • Order service

    • Review service

  • Deployment of microservices to

    • Minikube

    • AWS EKS cluster

  • Setup of CI/CD pipeline locally and on the cloud with Jenkins

  • Frontend development

  • Frontend deployment to

    • Minikube

    • AWS EKS cluster

What Technologies You'll Use

Because we are building a fullstack application, we will use a variety of tools and technologies. For the frontend, we'll use React, Tailwindcss and Typescript to show content to users. Each microservice will be built using NodeJS, Express and Typescript. Across the microservices, you'll use tools and technologies like Elasticsearch, Kibana, Rabbitmq, Redis, SocketIO, MySQL, PostgreSQL and MongoDB. Each microservice will be built as a Docker image and executed in a Kubernetes cluster.  The Kubernetes cluster will be created locally with Minikube and on the cloud with AWS EKS. There are numerous tools, technologies and packages that will be used both locally and in our kubernetes clusters.

Not familiar with some of these? No problem. This course will guide you on how to setup and use these technologies in your apps.

What You'll Be Able to Do

At the end of this course, you will be able to

  • Understand the basics of microservices architecture

  • Build event-driven microservices using NodeJS, Express and Typescript

  • Use Database-per-service pattern

  • Setup communication styles with both Request/Response pattern and Event-driven pattern

  • Setup single node kubernetes cluster with Minikube and multi-node kubernetes cluster with EKS

  • Use Docker and Kubernetes to deploy multiple microservices either locally with Minikube or to the cloud with AWS EKS

Enroll now

What's inside

Learning objectives

  • Build an amazing e-commerce marketplace application with react
  • Develop and design rest api with nodejs and express
  • Create containers for microservices with docker
  • Orchestrate microservices with kubernetes on minikube
  • Orchestrate microservices with kubernetes on aws eks cluster
  • Setup continuous integration/delivery pipeline using jenkins both locally and on the cloud
  • Create custom helper library and publish as npm package
  • Setup and use tools like elasticsearch, kibana, redis and rabbitmq
  • Setup services locally with docker compose
  • Use typescript both in react and nodejs/express microservices
  • Use redux toolkit rtk query for data fetching and caching
  • Setup microservices communications using rabbitmq
  • Setup centralized microservices monitoring
  • Implementing observability and monitoring using elasticsearch, kibana, prometheus and grafana
  • Use mongodb, mysql and postgresql databases
  • Setup access to microservices using jwt-based authentication
  • Setup kubernetes deployments, services, statefulsets, ingresses, volumes, storage classes and much more
  • Show more
  • Show less

Syllabus

Introduction
Walkthrough of complete application
AWS kubernetes objects overview
Overview of microservices code
Read more
Elasticsearch and Kibana dashboard
Prometheus and Grafana overview
Complete project github link and presentation slides
Basics of Microservices
Monolithic Architecture
Microservices Architecture
Microservices communication types
Microservices communication styles
Project Architecture
Project description
Functional requirements
Non-functional requirements
Design decisions
Project architecture
Inter-process communication
Tools Setup with Docker Compose
Github link to docker compose services
Local dev tools
Docker installation
Redis service
MongoDB service
MySQL and Postgres services
Rabbitmq service
IMPORTANT: Note on Elasticsearch and Kibana
Elasticsearch service
Kibana service
Start docker compose services
Kibana dashboard
Microservices Helper Library
Section introduction
Github link
Helper library description
Helper library folder
Install cross-env package for for Windows users
Github project
Node npmrc file
Using interfaces in the course
Helper interfaces
Cloudinary upload method
Error handlers
Gateway middleware
Logger
Helpers file
Github actions
Publish helper library
Update Library
Notification Microservice
Notification microservice github link
Notification emails introduction
Notification service setup
Package json build script
Add src folder and files
Notification service config file
Server functions
Notification service health route
Elasticsearch connection
Start notification service
Rabbitmq connection
Rabbitmq introduction
Rabbitmq channel methods
Auth email consumer method
Use auth email consumer method
Order email consumer method
Mail transport method
Email templates - Part 1
Email templates - Part 2
Use send email method
Add send email to order consumer
Setup jest
Auth consumer test - Part 1
Auth consumer test - Part 2
Development dockerfile
Add notification service to docker compose
Production dockerfile
Package json scripts commands
Copy emails folder into build - Part 1
Copy emails folder into build - Part 2
Push code to github
API Gateway Microservice Setup
API gateway architecture
API gateway microservice github link
Gateway service folder
Gateway server file - Part 1
Gateway server file - Part 2
Gateway server file - Part 3
Gateway config file
Setup gateway service elasticsearch connection
Gateway health route
Authentication middleware
Axios Service
Add gateway service to docker compose
Authentication Microservice
Auth service introduction
Auth microservice github link

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Teaches foundational concepts in microservices architecture
Develops practical skills with hands-on project building
Provides a comprehensive understanding of Kubernetes, including deployment, orchestration, and monitoring
Covers essential tools like Elasticsearch, Kibana, Redis, and RabbitMQ for real-time data processing and communication
Requires prior knowledge of React, NodeJS, and TypeScript
Uses older versions of some software, such as MongoDB 3.6 and MySQL 5.7

Save this course

Save Microservices with NodeJS, React, Typescript and Kubernetes to your list so you can find it easily later:
Save

Reviews summary

Microservices with modern technologies

Learners say that this course is a comprehensive exploration of microservices utilizing NodeJS, React, Typescript, and Kubernetes. It features engaging assignments, well-structured lectures, and an encouraging, experienced instructor. Based on 20 reviews, students are largely positive about the course, giving it an average score of 4.5 out of 5.
Interactive and well-paced lessons keep learners engaged.
"I like the way the course is set up."
"I've found the topics easy to remember so far"
"I love this long course, less things to read and many lectures as videos"
In-depth explanations and examples enhance understanding.
"good easy to understand"
"easy to understand and lots of examples"
"very interesting, easy to follow, easy to understand. Very enjoyable thank you!"
Suitable for beginners with easy-to-understand content.
"Loved the course. It was easy to learn as I am a beginner."
"Easy to understand for beginners. Well-structured. Thank you Sal."
"It was great course for beginners. simple to follow"
Experienced instructor with a clear and effective teaching style.
"Sal's background as a teacher really shows in the way she structures her courses and in the way she produces the content."
"She makes the material engaging and easy to understand. She really knows her stuff"
"perfect match for me and best decission I have made in taking this course"

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Microservices with NodeJS, React, Typescript and Kubernetes with these activities:
Review 'Node.js Design Patterns'
Reinforce your knowledge of NodeJS design patterns by reading and reviewing a recommended book.
Show steps
  • Read the book thoroughly, taking notes on key concepts and patterns.
  • Refer back to the book as needed during the course to clarify any concepts.
Practice coding data structures and algorithms
Regularly practice coding data structures and algorithms to improve your problem-solving and coding skills.
Browse courses on Data Structures
Show steps
  • Choose a coding platform like LeetCode or HackerRank.
  • Start solving easy problems and gradually move on to harder ones.
  • Analyze your solutions and try to optimize them.
Follow tutorials on building microservices with NodeJS/Typescript
Complement your learning by following guided tutorials that provide step-by-step instructions on building microservices using NodeJS and Typescript.
Browse courses on Microservices
Show steps
  • Find reputable online resources or video tutorials on building microservices with NodeJS/Typescript.
  • Follow the tutorials carefully, taking notes and experimenting with the code.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Participate in peer programming sessions
Engage in peer programming sessions to reinforce your understanding, learn from others, and improve your communication skills.
Browse courses on Collaboration
Show steps
  • Find a partner or small group with similar interests and skill levels.
  • Choose a project or topic to work on together.
  • Take turns coding, reviewing, and providing feedback.
Build a simple NodeJS application
Create a small NodeJS application to solidify your understanding of the concepts covered in the course.
Browse courses on NodeJS
Show steps
  • Create a new NodeJS project using a package manager like npm or yarn.
  • Use Express or another web framework to set up routing.
  • Add functionality to your application, such as handling user input or database access.
  • Test your application to ensure it works correctly.
Contribute to an open-source microservices project
Contribute to a real-world microservices project to gain practical experience and enhance your portfolio.
Browse courses on Open Source
Show steps
  • Identify a reputable open-source microservices project on platforms like GitHub.
  • Read the project's documentation and contribution guidelines.
  • Identify areas where you can contribute, such as bug fixes or feature enhancements.
  • Create a pull request with your changes and provide a detailed description.
Participate in a microservices hackathon
Challenge yourself by participating in a hackathon to build a microservices application in a competitive and collaborative environment.
Show steps
  • Find a relevant microservices hackathon or competition.
  • Form a team or work individually on a project idea.
  • Implement your project within the given time frame.
  • Present your project to a panel of judges.

Career center

Learners who complete Microservices with NodeJS, React, Typescript and Kubernetes will develop knowledge and skills that may be useful to these careers:
Full-Stack Developer
Full-stack developers design, develop, implement, test, and evaluate information systems or software applications to meet the business goals of companies.
Software Architect
Software architects design and build an organization's software applications, which may include researching and evaluating new technologies.
DevOps Engineer
DevOps engineers are responsible for developing and implementing strategies that streamline and automate an organization's software development and deployment.
Cloud Engineer
Cloud engineers are responsible for managing an organization's cloud-based infrastructure, which may involve provisioning and managing virtual machines.
Software Developer
Software Developers design, develop, test, deploy, maintain, and manage the software applications of an organization, which may include operating systems, networking and database systems, and more.
Cloud Architect
Cloud Architects design and implement cloud-based solutions for organizations, which may involve migrating existing systems to the cloud or developing new applications in the cloud.
Web Developer
Web developers design and create websites, which may include writing code, generating content, and more.
UI/UX Designer
UI/UX designers are responsible for designing the visual interface of websites and applications, focusing on making them user-friendly and aesthetically pleasing.
Front-End Developer
Front-end developers design and build the user interface portion of websites and applications. These developers implement the designs of user experience (UX) designers.
Network Engineer
Network engineers design, implement, and manage an organization's network infrastructure, which may involve installing and configuring routers and switches.
Data Engineer
Data engineers are responsible for storing, structuring, and cleaning data, as well as working with data analysts to determine the future needs of the company's data systems.
Database Administrator
Database administrators are responsible for maintaining and supporting an organization's database, which may involve performing backups, recovering lost data, and more.
Data Scientist
Data scientists are responsible for using their knowledge of math, statistics, and advanced programming techniques to extract meaning from data.
System Administrator
System administrators are responsible for installing, maintaining, and repairing computer systems and networks.
Technical Writer
Technical writers create instruction manuals, technical reports, and training materials to help users learn how to use a software application or product.

Reading list

We've selected eight books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Microservices with NodeJS, React, Typescript and Kubernetes.
Provides a comprehensive guide to designing and building microservices. It covers all aspects of microservice design, from architecture to deployment. It valuable resource for anyone looking to learn how to build scalable and reliable microservices.
Provides a comprehensive guide to using Kubernetes for orchestrating containerized applications. It covers all aspects of Kubernetes, from installation to management. It valuable resource for anyone looking to learn how to use Kubernetes to build and deploy scalable and reliable applications.
Presents a catalog of design patterns for building microservices. It covers patterns for communication, data management, fault tolerance, and more. It valuable resource for anyone looking to learn about the best practices for microservice design.
Provides a comprehensive guide to using Elasticsearch for search and analytics. It covers all aspects of Elasticsearch, from installation to administration. It valuable resource for anyone looking to learn how to use Elasticsearch to build scalable and performant search and analytics solutions.
Provides a comprehensive guide to using Prometheus for monitoring and alerting. It covers all aspects of Prometheus, from installation to administration. It valuable resource for anyone looking to learn how to use Prometheus to build scalable and performant monitoring and alerting solutions.
Provides a set of best practices for developing Node.js applications. It covers topics such as code organization, error handling, testing, and performance optimization. It valuable resource for anyone looking to improve the quality and maintainability of their Node.js code.
Provides a concise and practical guide to the JavaScript programming language. It covers the essential parts of JavaScript that are necessary for building modern web applications. It valuable resource for anyone looking to learn the fundamentals of JavaScript.
Provides a quick and easy introduction to the TypeScript programming language. It covers the essential features of TypeScript that are necessary for building modern web applications. It valuable resource for anyone looking to learn the basics of TypeScript.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Microservices with NodeJS, React, Typescript and Kubernetes.
Integrating an EKS Cluster with Other AWS Services
Most relevant
Hands-On with Amazon EKS
Most relevant
Securing an EKS Cluster
Most relevant
Kubernetes for Beginners: Google Cloud, AWS & Azure
Most relevant
Deploying Microservices to Kubernetes using Azure DevOps
Most relevant
AWS EKS Kubernetes-Masterclass | DevOps, Microservices
Most relevant
Microservices with Node JS and React
Most relevant
Advanced Typescript programming with NodeJs and Webpack
Most relevant
Optimizing an EKS Cluster for Price and Performance
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser