Web application developed in order to manage your game catalog.
For development, ReactJs with Typescript was used on the front-end with Material UI to build the UI, following the Material Design specifications for Theme and Responsiveness. React-Redux and Redux-Saga were used for data and request management. And the node version used was node:14.17.3.
To make the backend, Java was used with Spring Boot to create a REST API. was used a Docker container for our database and to deploy the application as well. The application has been Dockerized and documented with Swagger.
Initially, make sure you have Maven, Docker and Docker-Compose installed on your machine. If not, below is some information on how to install them.
For linux, use this commands:
sudo apt install maven
This will show the Maven Apache version installed.
mvn -version
You can find how to install Docker easily in this Repository developed by us.
You can find how to install Docker-Compose in official Documentation.
node:14.17.3
I advise using NVM
for node version management.
About the API documentation, after the application is started you can find the end-point documentation in SWAGGER-UI
As the application is Dockerized using Docker-Compose, I made the execution a little easier by creating a Script for execution.
On your first run you will need to start CreateFirstTime.sh
. Then enter the project root and run the command in your terminal:
sh CreateFirstTime.sh || ./CreateFirstTime.sh
After this first creation, the application can be started with the Start.sh
script and stopped with Stop.sh
.
sh Start.sh || ./Start.sh
sh Stop.sh || ./Stop.sh
cd back-end
mvn test
The responsivity of application was based on the SideMenu component, it was necessary to modify this component so that it behaved as it was properly thought of in the prototyping process. The SideMenu if component was modified by me so that its behavior is relatively similar to the behavior of youtube. The application is not relying on test front-end with Jest, this part has not been finished.
The application has been dockerized to facilitate the process of managing development environments. Using docker compose to control docker containers (front-end, back-end and Database).