Getting Started

Learn about the course’s objectives, its target audience, and prerequisites.

Welcome to this course! What you learn here will help you work with developers and become proficient with various programming languages.

Course overview

Overall, this course is about building web applications using the microservices architecture, and specifically focuses on those that are both event-driven and RESTful. Creating such web applications can be challenging because event-driven systems are mostly used in asynchronous communications, while RESTful APIs are used in synchronous ones. The work lies in making the two work as one entity.

In this course, you'll learn to build robust microservices web applications with RabbitMQ, React TypeScript, Python Django, Python Flask, and MySQL that are event-driven and can support RESTful APIs that serve different web service purposes.

Target audience

This course will be most beneficial to those who are well-versed in different programming languages and technologies, but are new to microservices.

This course aims to be a go-to guide for developers who want to transition from the monolith system to the microservices system. Each step in the course is broken down into simple parts that are easy for a newcomer to grasp, and there are illustrations to aid understanding. This course also serves as a manual for developers who want to understand event-driven architecture and incorporate it into web application development.

If you want to acquire knowledge about any of these things, then this course is for you.


For this course, you need a basic to intermediate knowledge of the relevant technologies used throughout the learning process. Let's review which technologies you should be familiar with.

Command line

Having a basic knowledge of the command line is beneficial because we'll run codes in it for most of the installations in the course.


It is important to have a robust knowledge of Python and its two main frameworks, Django and Flask, because we'll build the entire backend of the web application with them.


Experience with React is needed because we'll build our frontend with TypeScript, HTML, CSS, and Bootstrap.


We also recommend having prior knowledge of TypeScript, a superset of JavaScript.

HTML, CSS, and Bootstrap

A basic understanding of HTML, CSS, and Bootstrap is necessary because we will design our frontend templates using these technologies.


Knowledge of the structured query language is essential to this course because we'll use MySQL as our relational database management system. Familiarity with SQL will help you access and manipulate the database.


We'll use Docker because containers are a compatible and suitable way to implement web applications in microservices systems. Therefore, basic knowledge of Docker is needed.


Some familiarity with the message broker—RabbitMQ—will be advantageous. This is because we'll use it as our message broker and event bus to implement message queuing and queuing management.