- Queue Management: Add patients to the queue, assign them to specific offices and doctors at designated times. New doctors can also be added.
- Web Service: Accessible functionalities across platforms as a web service.
- Technology Stack: Implemented with Spring Boot and managed with Maven.
- Database: Data stored in a separate PostgreSQL database.
- Docker Integration: Ensures environment isolation and consistency using Docker.
- API Visualization: Utilizes Swagger UI for easy API visualization and usage.
- Logging: Uses Log4j2 for event logging in both console and file.
- Unit Testing: Important methods are unit tested to ensure correct functionality.
The application has been tested using the following software:
- IntelliJ IDE
- Docker Launching the Application
To launch the application, follow these steps in the CMD command line:
-
Ensure you have the latest version of Java (21) installed:
- Enter the command:
java --version
- If Java is installed, proceed to step 3.
- Enter the command:
-
Install JDK 21 if not already installed:
- Download the JDK package:
wget https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.deb
- Install the package:
sudo apt install ./jdk-21_linux-x64_bin.deb
- Download the JDK package:
-
Navigate to the application folder and build it using Maven:
- Run:
mvn clean install
- Run:
-
Navigate to the directory at
src/main/resources/docker
:- Check if Docker is installed:
docker --version
- If Docker is not installed, install it:
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
- For Windows, Docker Desktop is required.
- Check if Docker is installed:
-
Set up the PostgreSQL database using Docker Compose:
- Build the Docker containers:
docker-compose build
- Start the Docker containers:
docker-compose up
- Build the Docker containers:
-
Everything is ready. You can now run the application:
-
Run:
./mvnw spring-boot:run
-