This is a project based on Node.js and Java, using the technologies of React + TypeScript for the frontend and Spring Boot + Maven for the backend.
This repo is a basic application composed of several components.
- Frontend module. Module based on React + TypeScript, which utilizes the Keycloak service for authentication, shaping the entire interface through which users will interact.
- Backend module. Module based on Maven along with Spring Boot, containing all the business logic of the app, communicates with the database, and is protected by the Keycloak service.
- Keycloak service. Service based on the Keycloak framework to protect, secure, and authenticate the different necessary parts of the project.
- Node.js
- Npm
- Maven
The fastest way for launching this sample project is using docker. Just clone the project:
git clone https://github.com/Arquisoft/wiq_es1d.git
Access the 'docker' folder located at the root:
cd docker
and launch it with docker compose:
docker compose -f ./docker-compose-dev.yml up --build
After the deployment is completed, Docker will build six images to subsequently launch the six containers:
- Backend
- Frontend
- Database
- Keycloak service
- Two containers for API monitoring (Prometheus and Grafana)
Once the containers are up and running, you can access the website through port 3000.
First, start the database. Either install and run Mysql or run it using docker:
docker run -d -p 3306:3306 --name=syg-db:latest
Do the same with keycloak
docker run -d -p 8090:8080 --name=keycloak:latest
Now, with docker or any IDE you can run the backend with your IDE or with docker like the others components:
docker run -d -p 8080:8080 --name=backend:latest
Finally, to deploy the frontend, you can navigate to the frontend module folder and use:
npm start
or with docker too:
docker run -d -p 3000:80 --name=frontend:latest
After all the components are launched, the app should be available in localhost in port 3000.
- Álvaro González Carracedo - UO251891
- Frontend: syg-frontend.agh0bwf3ebf9dee6.westeurope.azurecontainer.io
- Keycloak: https://syg-keycloak.hdg5fghpcef7a8a2.westeurope.azurecontainer.io:8090/