Prerequisites
This page provides a list of prerequisites that are required to run the project.
Please make sure you have all these prerequisites installed and correctly configured before proceeding with the project setup. This will help to ensure a smooth and efficient development experience.
Docker
In order to bootstrap the infrastructural dependencies required to run the project, you will need to have a working installation of Docker.
This includes the following:
- Docker Compose
- Docker Engine
You can make use of the official documentation to install Docker Engine and Docker Compose.
The following are the versions I used for the project:
If you have these versions (or newer) installed, you should be good to go.
Java
The back-end API is built using Java
and Spring Boot
. You will need to have a working
installation of Java in order to build and run the back-end API.
The project requires Java 21
or newer to be installed. This is the latest LTS
(Long Term
Support) release of Java as of the time of writing.
You can also make use of various different flavors of the Java JDK (Java Development Kit) such
as OpenJDK
, AdoptOpenJDK
, Oracle JDK
, AmazonCorretto
, Microsoft OpenJDK
, etc.
I made use of OpenJDK 21 LTS
for the project.
NodeJS
The front-end application is built using Angular
and NodeJS
. You will need to have a working
installation of NodeJS
in order to build and run the front-end application.
I made use of NodeJS 20.12.0 LTS
for the project.
You can make use of the official NodeJS website to download
and install NodeJS
.
Angular CLI
The front-end application is built using Angular
. You will need to have a working installation
of the Angular CLI
in order to build and run the front-end application.
You can install the Angular CLI
using the following command:
You can verify the installed version of the Angular CLI
using the following command:
Which should output something similar to the following:
HTTP tools
In order to test the back-end API, you will need to have some form of HTTP tooling installed. Examples of such tools include: