This project consists of three main components:
- Front-End: A web interface.
- Back-End: A Spring Boot application.
- JavaFX Application: A JavaFX desktop BoulderDash game.
- PostgreSQL database: Data source.
- Nginx reverse proxy: Entry point to any request coming into the server
This project is a back-end for Boulder-dash game written in JavaFX. I'm using microservice architecture to put each service into a Docker container for better isolation. Docker compose connects all the containers together in a default bridge docker network. All the requests coming into the server are first processed by nginx reverse proxy, than based on the domain name they go to the dedicated service. Back-end is written in Spring:Boot with Hibernate as JPA, and authorization using JWT token. Front-end is built upon HTML, Bootstrap, JS. To see the site please go ahead to https://www.turbolaft.com, (might be down because is running on my notebook at home xD)
/FullStackJavaApp/
βββ front-end/
β βββ static/
β βββ Dockerfile
β βββ nginx.conf
βββ java1_pav0546_projekt/
β βββ src/
β βββ .gitignore
β βββ pom.xml
βββ back-end-spring/
β βββ src/
β βββ Dockerfile
β βββ .gitignore
β βββ pom.xml
βββ docker-compose.yml
βββ nginx.conf
- Java Development Kit (JDK) 21 or later: Download JDK
- Apache Maven: Download Maven
- Visual Studio Code: Download VS Code
- Docker daemon, docker-compose: Download Docker
To run the application U need to:
- Run back-end infrastructure:
git clone https://github.com/turbolaft/FullStackJavaApp
cd FullStackJavaApp
sudo docker-compose build
sudo docker-compose upWarning
don't forget to change
volumes:
- /home/artem/https:/etc/nginx/certswith the actual path to your SSL certificate and public key where /home/artem/https directory has files certificate.pem and privkey.pem, also in root/nginx.conf change turbolaft.com, www.turbolaft.com with your actual domains
- JavaFX Application: To run the JavaFX application, follow these steps:
- Navigate to the java1_pav0546_projekt directory:
cd /FullStackJavaApp/java1_pav0546_projekt- Set Up JavaFX: Download JavaFX SDK: Download JavaFX Extract the SDK to a location on your system (e.g., C:\javafx-sdk-15.0.1).
- Run the JavaFX Application:
mvn javafx:run