Inventory is a web app for maintaining a product's inventory. It was developed by Luis Espinosa Llanos and for the backend it was used the following technologies and tools:
Core | Java 11, Spring Boot 2, Data JPA, Hibernate, Loombok, Jackson Databinding, Spring Security, Java JWT. |
Database | PostgreSQL 11 |
Testing | Junit 5, Mockito, Sonar Lint, SonarQube |
Server | Apache Tomcat Embebido (Spring Boot) |
IDE | Spring Tool Suite |
Web Server | Nginx |
Performance Tests | JMeter |
Executable | Jar |
It was written using the best practices for instance, a controller, service and repository layer approach, code reusing, unit tests, a good condition coverage, dependecy injection, inversion of control, abstractions, token and Role based security, design patterns and more...
This project still has no FrontEnd.... But It will soon, of course developed in reactJS.
A video exposing the functionality of the proyect in local environment on a Desktop screen.
I provide the following resources:
Database SQL Backup | In the db folder |
Postman Collection | In the postman folder |
Performance | In the performance folder |
Some pictures of the project on a local environment respectively:
|
![]() |
|
|
![]() |
|
|
|
Please don't overuse it, because it is a FREE tier, I wouldn't want to incur in unnecesary expenses :), REMEBER that I've provided the complete POSTMAN collection: NOTE: If the API is asleep, please contact me and I'll be happy to turn it on... https://inventory-springboot-backend.herokuapp.com
This proyect should be installed using the following command:
mvn clean install
In the target folder you will find the Jar archive, of course the configuration for Login purposes was externalized, this is to say that arguments have to be passed through command line, so please use the following command according to your values:
java -jar -DSECRET_KEY=securesecuresecuresecuresecuresecuresecuresecuresecuresecuresecure -DEXPIRATION_DAYS=800 -DSPRING_DATASOURCE_URL=jdbc:postgresql://localhost:5432/inventory -DSPRING_DATASOURCE_USERNAME=inventoryadmin -DSPRING_DATASOURCE_PASSWORD=123456 -DSPRING_DATABASE_SCHEMA=app inventory-0.0.1-SNAPSHOT.jar
In the project you will find the tests report with Jacoco. But you should scan it with SonarQube. Please be sure that your local SonarScanner is up.
mvn clean install sonar:sonar
You've got to see the following results on the dashboard, but of course as in the second image you could only use the coverage eclipse's plugin to get a glimpse of the overall coverage (Take into account that some clases were exluded from Sonar for instance DTOs):
|
|
This proyect is quite simple, and is part of my personal portfolio, so it is not intended to receive contributions.
It is free.