
This video provides an overview of the entire course.
In this video, you will get introduced to the idea behind microservices and the application we are going to build.
In this video, you will get introduced to the IDE and tools required for creating the application.
In this video, we will discuss the architecture of the system that we are going to build.
In this video, we will create a new solution and projects using dotnet CLI, discuss the system layers.
This video will introduce the concept of service bus, describe RabbitMQ and configure it on local machine.
This video will introduce the commands and command pattern.
This video will introduce the events and event pattern.
In this video, we will create service host using Fluent API, implement custom extensions and helper classes.
In this video, we will describe the API gateway, configure required services, and define endpoints.
In this video, we will discuss about the required command and event handlers, subscribe to the incoming messages, and implement basic handlers.
In this video, we will discuss the domain of the services and create the entities and interfaces.
In this video, we will introduce the MongoDB NoSQL database and configure the connection.
In this video, we will implement the repositories using MongoDB and create the database seeder for initializing data.
In this video, we will discuss the business logic of the activities service, implement the services and custom exceptions.
In this video, we will implement the required message handlers for the activities service and deal with the exceptions.
In this video, we will discuss the domain model of user and the user repository, implement the required classes and interfaces.
In this video, we will discuss the possible encryption methods, implement the logic for hashing passwords.
In this video, we will implement the repository for storing the user data in MongoDB.
In this video, we will discuss the registration and logging in methods, implement the business logic.
In this video, we will introduce the JSON Web Tokens, describe how it works, install .NET Core library.
In this video, we will describe the different options for JWT signature, implement JWT with HMAC.
In this video, we will refactor the login method in user service, return the token to the user and add JWT middleware to the API.
In this video, we will discuss and implement the event handlers used by the API.
In this video, we will implement the data storage using repository and MongoDB database, introduce the concept of flattened objects.
In this video, we will create the application services for the API, refactor the controllers and endpoints.
In this video, we will use tools such as Postman and cURL to invoke the API endpoints.
In this video, we will be testing the API controllers.
In this video, we will be testing the Activities Service.
In this video, we will be testing the Identity Service.
In this video, you will be introduced Docker.
In this video, you will be introduced to the Docker Compose, the compose file and run the services using this tool.
In this video, we will introduce Docker Hub, tag Docker images and push them to the Hub.
In this video, we will deploy application to the VM in the Cloud, run services using Docker Compose, and configure Nginx HTTP Server.
Microservices are an architectural style that promotes the development of complex applications as a suite of small services based on business capabilities. This course will help you identify the appropriate service boundaries within the business.
We'll start by looking at what microservices are, and their main characteristics. We will develop a basic distributed system using the microservice architecture and tools such as RabbitMQ service bus, to send messages across the separated services, or MongoDB, which is a NoSQL database. Within the course, we will focus on creating the HTTP API to act as a gateway to the whole system and so-called Activities Service, responsible for handling the incoming messages (or actually the commands that will be distributed through the services bus). We'll also implement the Identity Service, which will serve JSON Web Tokens (JWT) to authenticate requests incoming to the API. Our application will let the user store information about the activities performed at a given date for a selected category, for example, work, tasks, sport, and so on.
Once the request to save the activity is published within the system, the Activities Service will handle the business logic and decide whether the activity is valid, which will eventually result in publishing the event about processing the successful or rejected activity. In the course, you will also learn about commands and events as well as handlers which is one of the most popular design patterns when it comes to creating distributed systems.
By the end of the course, your services will be built using ASP.NET Core framework and later on, you will use tools such as Docker and Docker Compose to pack your application into the container and deploy it to the virtual machine running in the cloud.
This course uses .NET Core 2.0 while not the latest version available, it provides relevant and informative content for legacy users of .NET Core.
About The Author
Born and raised in Kraków, Piotr holds an M.Sc.Eng. degree in Applied Informatics. He has over 7 years' experience as software engineer and architect but is also interested in topics such as DevOps. He is a co-founder of the Noordwind teal organization and is a full stack developer working mainly with C#, .NET, .NET Core, and JavaScript technologies. He's also a big fan of DDD, CQRS, RESTful APIs, and distributed systems using the microservices pattern. Piotr is a well-known member of the Polish .NET community and his mission is to deliver the best content possible in terms of free and open software as well as programming courses. On top of that, he's an active open source contributor, consultant, blogger, public speaker, mentor, lecturer and co-organizer of the .NET Core Tour. In any spare time he enjoys lifting weights, running, and riding a motorcycle.