Prerequisites
In the upcoming lessons we’ll be focused on building an application rather than discussing the theory in detail, so a foundational knowledge of certain subjects will help you to get the very most out of this project.
Ranking Understanding
As a means of explaining the levels of understanding I suggest for this build, we'll use this simple scale:
- Describe - Recall the basic facts and concepts
- Explain - Explain the ideas or concepts in your own words.
- Use - Use it in new situations without support
With this we can rank each prerequisite so it's clear what level of understanding is recommended.
Understanding by Subject
To follow along with this builder, I suggest the following prerequisites:
- Java - Level 3 Use
- Maven - Level 3 Use
- Spring Boot - Level 3 Use
- Spring Security - Level 3 Use
- Keycloak - Level 3 Use
- Docker - Level 3 Use
- Elasticsearch - Level 1 Describe
- Node - Level 1 Describe
Elasticsearch
Although we'll not be diving deep into Elasticsearch in the same we would do in a dedicated course, we will focus on using Elasticsearch in this project.
Therefore a level 1 understanding of Elasticsearch should be enough to start this project aiming for a level 2 understanding by the project's end.
Node
A special note about our project’s NextJs frontend. Of course, this project is focused on building a Spring Boot application, however I do provide the same frontend that I use in the lessons.
We’ll be using the Node Package Manager (npm) to install the dependencies for the frontend, so although you don’t need to know how Node works, or how to build a NextJs application, it would be beneficial to know what Node is and what is means to use npm.
Otherwise, a quick read of the Node website should be enough to understand this.
Intermediate-level Project
As an intermediate level project the pre-requisite's are more elaborate than beginner-level builders.
If you're unsure about tackling this project, I'd recommend checking out the Task App builder or Blog Platform build before taking this one on!
Summary
- Core Java, Maven, Spring Boot and Spring Security require
Uselevel understanding - Docker and Keycloak knowledge should be at
Uselevel understanding - Basic
Describelevel knowledge of Elasticsearch is required - Node and npm need only
Describelevel understanding for running the frontend - This is an intermediate project - consider the Task App or Blog Platform if unsure