Let's develop a message-driven microservices application
What you'll learn
- How to combine several current technologies and frameworks into one multifaceted app
- The essentials of front- and backend development, microservices, messaging and more
- Each step of the development cycle that goes from an idea to a plan to implementation
- How to implement your own solutions during many coding exercises
- Without the need to install or configure anything except git and vagrant
- You should have some programming experience
- You need Git, Vagrant and Virtualbox installed to follow the lessons
Dive into modern application development while you build a web scraping service from scratch. Understand the whole development process that goes from an idea to a plan to the implementation of a multifaceted application.
Get a profound understanding of many important frameworks and tools in one single crash course.
- Web design using Bootstrap
- REST API design and hypermedia-driven APIs
- Spring & Java backend development
- Rapid prototyping with Spring Boot
- Microservices architecture
- Messaging with RabbitMQ
- Web scraping with Python
This class offers a unique distraction-free learning experience that allows you to start coding anytime just by clicking a link
It ships with a virtual machine image that has all requirements installed and a tutoring application that guides you through the course.
Instead of wasting your time with installation or configuration issues that regular courses require, you just open your console and type in "vagrant up". I developed a tutoring application that guides you through the lectures and manages your source code and exercises. You start coding just by clicking a link and having the tutor taking care of the rest.
Most courses either focus on too much theory without practice or are not more than a guided hacking tutorial ignoring deeper concepts. My class delivers the material in a concise form by teaching just enough essentials so you can start coding on your own.
Why watch hours of videos and forget most of it when I can get the same knowledge in a fraction of the time?
Contents and Overview
This course will take you from an idea to a plan to the complete application. We start with the requirements of our application that we have gathered with our fictive client. We plan the development as we would do in a real life software company. Then we develop each part of the application.
- We start with the frontend that we implement in two steps. First, we use Bootstrap to layout the website. Second, we make the website interactive using Knockout.js.
- Next we move to the backend side and talk about REST API development. Using Spring Boot and Java we demonstrate how to create an API quickly that clients consume.
- In the final part of this course, we add a web scraping service to our application. We gain an understanding of the microservices architecture and learn how to increase modularity by taking advantage of messaging with RabbitMQ.
The reason I created this class is that I feel there are not enough offers available for developers who want to maximise the time spent on their education. As software developers, we constantly need to learn something new. Our time is precious. That's why my lectures focus on active coding and teaching what is most important.
As a bonus for my students I personally answer every open question you may have in the forum regarding the course material. My motivation is to help you succeed!
Who this course is for:
- Intermediate programmer
- Anyone interested in developing an application from scratch
- Anyone who wants to build an application and have a base to build upon
During the day I am working as a software architect. In recent years, I'm dedicating most of my free time to my passion of writing and teaching about software craft and learning.
I started teaching because I think that the way we teach and learn programming is still in its infancy and can be vastly improved. The tools we use belong to the past where linear teaching was prevalent.
As an avid learner myself, I know very well how scattered the process of acquiring new skills can be, where we constantly jump between books, videos, StackOverflow, tutorials and so on. Nowadays, the sheer amount of new technologies can be overwhelming.
In my courses I want to encourage tinkering and having fun with coding as I believe this is the most efficient way to advance coding skills.