GithubHelp home page GithubHelp logo

toninoes / tfg-heridas-rest-servicio-web-spring Goto Github PK

View Code? Open in Web Editor NEW
3.0 2.0 0.0 2.12 MB

RestHeridApp: Servicio web REST

License: MIT License

Java 98.30% HTML 0.93% CSS 0.27% Shell 0.49%
spring spring-boot spring-security spring-data-jpa springframework java java8 java-8 itext itextpdf

tfg-heridas-rest-servicio-web-spring's Introduction

RESTheridApp (Servicio Web)

Servicio web para el seguimiento de heridas en consultas de enfermería.

Organización

Herramientas-Tecnologías utilizadas

  • Java SE Development Kit 8
  • Spring Framework 5.0.4
  • MySQL Community Server 5.7.21
  • Apache Maven 3.5.3
  • Apache Tomcat 8.0.50
  • Spring Tool Suite 3.9.2
  • JSON Web Token
  • iText

Modelo conceptual de clases

Éste es el modelo conceptual que contempla la aplicación:

Diagrama ER

A continuación la estructura física de datos que utilizará el sistema:

Manual de instalación y explotación

Las instrucciones de instalación y explotación del sistema se detallan a continuación.

Requisitos previos

Los requerimientos que el sistema debe tener para el correcto funcionamiento. Entre paréntesis las versiones sobre las que se ha trabajado:

  • S.O.: Ubuntu Server (versión 16.04 LTS - 64 bits)
  • Lenguajes: Java (v. 8)
  • Java SE Development Kit 8
  • Apache Tomcat 8 (v. 8.0.32)
  • MySQL Community Server 5 (v. 5.7.21)
  • Apache Maven 3 (v. 3.3.9)

Para tenerlo todo instalado en Ubuntu, simplemente teclear:

sudo apt-get install openjdk-8-jdk openjdk-8-doc openjdk-8-jre
sudo apt-get install git mysql-server tomcat8 tomcat8-admin maven

Procedimientos de instalación

En primer lugar debemos obtener el código fuente del proyecto, lo haremos valiéndonos de Git y lo descargamos desde GitHub, lugar elegido para alojar los repositorios.

Seguidamente habrá que configurar el fichero application.properties para configurar los parámetros necesarios del servicio de envío de emails, necesario para activar a los usuarios recién registrados o para gestionar el olvido de contraseñas por parte de estos.

cd /tmp
git clone https://github.com/toninoes/tfg-heridas-rest-servicio-web-spring.git
cd tfg-heridas-rest-servicio-web-spring
sudo nano src/main/resources/application.properties

Necesitamos editar algunas líneas de ese fichero, son las siguientes:

# =====================================
# = CONFIGURACION DE CORREO (GMAIL)
# =====================================
[email protected]
spring.mail.password=PASSWORD
# =====================================
# CONFIGURACION DE IMPLANTACION
# =====================================
protocolo=http
dominio=localhost
puerto=8080
servicio=restheridapp

En cuanto a la configuración del correo decir que es evidente que deberemos disponer de una cuenta de correo para el sistema ( en principio está preconfigurado para una de Gmail) y simplemente debemos indicar el USERNAME y PASSWORD de dicha cuenta. En la configuración de la implantación debemos indicar muy bien:

  • protocolo: indicar si es http o https.
  • dominio: IP o nombre de HOST donde se encuentra alojado el servicio.
  • puerto: número de puerto donde tenemos configurada la escucha del servicio.
  • servicio: nombre que recibe el servicio dentro de Tomcat. Si se siguen las instrucciones siguientes será restheridapp.

Podría darse el caso de no necesitarse configurar el puerto y/o el servicio, en tal caso no borrar dichas líneas, sino que se dejan así:

puerto=
servicio=

Una vez clonado el repositorio, y configurado el fichero application.properties, para la correcta instalación y despliegue de la aplicación se necesitará ejecutar el script en bash (RestHeridApp.sh), éste contiene a su vez una llamada a otro fichero SQL (RestHeridApp.sql). Por tanto tecleamos en la terminal el siguiente comando (dentro de /tmp/tfg-heridas-rest-servicio-web-spring):

sudo bash RestHeridApp.sh

Procedimientos de operación y nivel de servicio

Es preciso asegurarnos de tener correctamente instalado y configurado nuestro gestor de base de datos MySQL, tal y como aparece en el fichero application.properties, debe de haber un usuario llamado RESTheridApp cuya contraseña sea RESTheridApp.

Obviamente esto debe modificarse en un entorno de producción por los problemas de seguridad que plantearía dejarlo de esta manera, para ello habría que cambiar dicha configuración, las siguientes 2 líneas:

# ===============================
# = CONFIGURACION DE BBDD
# ===============================
spring.datasource.username=USUARIO_NUEVO
spring.datasource.password=CLAVE_NUEVA

Se debe otorgar permisos al usuario USUARIO_NUEVO sobre la base de datos: restheridapp. Esta asignación de privilegios se consigue con la siguiente orden:

GRANT ALL ON `restheridapp`.* TO 'USUARIO_NUEVO'@'localhost' IDENTIFIED BY 'CLAVE_NUEVA';

Pruebas de implantación

Tras su ejecución y si todo ha ido bien, la aplicación se encontrará correctamente instalada. Podremos ejecutar ahora la App Android o utilizar un cliente rest como Postman.

A partir de ahí podremos acceder con nuestro usuario de administración creado por defecto [email protected] y cuya contraseña es admin. Posteriormente podrá cambiarse su contraseña.

Vemos cómo se carga el panel de administración de la aplicación para el usuario [email protected] que tiene rol de administrador:

Puede verse cómo utilizar el servicio utilizando Postman, incluyendo el token en la cabecera de la petición (tras autenticación) en las siguientes dos imágenes.

Autenticación con Postman

Podemos ver resaltado el token devuelto por el servidor que deberá incluirse en las sucesivas peticiones en la cabecera.

Petición con Postman incluyendo token en la cabecera de la petición

Podemos ver una petición GET dnde se pide el centro identificado con el Id = 1. Vemos cómo incluimos el token en la cabecera de la petición.

tfg-heridas-rest-servicio-web-spring's People

Contributors

toninoes avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.