Skip to content

CRUD Multitable Project with API Rest & Client Rest with Spring boot & Thymeleaf.

Notifications You must be signed in to change notification settings

gerardpuigl/M14-Spring-REST_API_and_CLIENT_MySQL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spring Rest API & Client with MYSQL (M14)

spring-long java mysql html-5 css-3 thymeleaf bootstrap mysql postman eclipse visual-studio-code

Introduction

Rest API & Client programmed with Spring boot & Spring Data JPA to access different databases with several tables. MVC pattern applied.

View done with Thymeleaf, HTML & CSS with the library Bootstrap.

Link: https://white-collar-it.herokuapp.com/index

Store Manager
Store products Manager
Exception handler

Exercise Description [in Catalan]

Exercici per crear una aplicació amb Spring boot & Spring per accés a diferents bases de dades amb vàries taules relacionades entre elles. Projecte realitzat amb Spring i amb patró MVC aplicat. S'ha volgut aprofundir en la utilització de Thymeleaf.

- Nivell 1 - (Rest API Spring)

Realització d'una Rest API per fer peticions HTTP amb un CRUD (Create, Read, Update, Delete) al complet. Per això s'ha implementat un patró d'arquitectura MVC amb repositori en memòria.

S'ha utilitzat Spring (Java) construït amb Maven amb les implementacions:

  • Spring Boot DevTools.
  • Spring Web.
  • Thymeleaf.
  • Spring Data JPA.
  • Mysql database connector.
  • h2 database.

Creació d'una web per una franquícia que vol vendre quadres de manera il·legal camuflat dins d'una botiga de collarets anomenada "white collar".

La Rest API ha de permetre:

  • Crear botiga: li direm el nom i la capacitat (POST /shops/).
  • Llistar botigues: retorna la llista de botigues amb el seu nom i la capacitat (GET /shops/).
  • Afegir quadre: li donarem el nom del quadre i el del autor (POST /shops/{ID}/pictures)
  • Llistar els quadres de la botiga (GET /shops/{ID}/pictures).
  • Incendiar quadres: per si ve la policia, es poden eliminar tots els quadres de la botiga sense deixar rastre (DELETE /shops/{ID}/pictures).

Durant la creació de la web s'ha completat el llistat anterior amb un CRUD complet de les dues entitats. Implementació de base de dades persistent MySQL i creació de dos perfils de propietats per alternar entre MySQL i H2 (BD en memoria) Comprovació de peticions amb Postman.

- Nivell 2 - (Rest Client Thymeleaf/HTML/CSS)

Creació d'una web amb Thymeleaf/HTML/CSS per crear una web de gestió i creació de les botigues i una taula per cada una de les botigues per gestionar el seu stock. Les botigues tenen una capacitat màxima que quan es sobrepassa llença una excepció que recondueix a una web d'error.

Tot i ser una sola aplicació s'ha volgut simular una petició a un servidor Rest Api extern i s'ha gestionat amb Spring Boot sobre plantilles thymeleaf.

S'ha utilitzat Bootstrap i s'ha modificat per donar un aspecte singular a la botiga.

- Nivell 3 - (Creació WAR i pujada a un servidor Tomcat)

En aquest nivell s'ha configurat el projecte per exportar un arxiu war i mitjançant un servidor Tomcat s'ha provat el seu funcionament.

- Heroku - (Pujada a un servidor al núvol)

S'ha configurat el projecte per ser accessible de manera remota des del núvol:

https://white-collar-it.herokuapp.com/index