Bienvenidos a nuestro modulo de agentes
Este módulo forma parte de un sistema informático de gestión de incidencias, donde son los agentes los que emiten estas al sistema.
- David Lorenzo González (UO244795)
- Martín Peláez Díaz (UO236974)
- Laura Menéndez Pérez (UO244646)
- Damián Rubio Cuervo (@DamianRubio)
- Fernando Palazuelo Ginzo (UO244588)
- Esteban Montes Morales (UO246305)
- Lucía de la Granda Prieto (UO251626)
- Pablo Menéndez Suárez (UO252406)
- Sara Grimaldos Rodríguez (UO251782)
El proyecto ha sido desarrollado utilizando Java 1.8, por tanto es multiplataforma y debería ejecutarse sin problema tanto en Windows, MacOS y Linux.
Framework de java para manejar datos relacionales que persigue el diseño de esta API es no perder las ventajas de la orientación a objetos al interactuar con una base de datos (siguiendo el patrón de mapeo objeto-relacional). Para más información: https://es.wikipedia.org/wiki/Java_Persistence_API
Libreria de código abierto para la manipulación de ficheros CSV, (comma-separated values), para más información: http://opencsv.sourceforge.net/
Librería de apache dedicada a la validación de datos, concretamente usado en nuestro proyecto para la validación de los correos electrónicos. Para más información: https://commons.apache.org/proper/commons-validator/
Un software para gestion de proyectos de software entre otras cosas, lo estamos usando para gestionar todas las dependencias que necesite el proyecto. Para más información: https://maven.apache.org/
Un framework inspirado en Spring que nos ha servido para ejecutar la aplicación web,. Para más información: https://projects.spring.io/spring-boot/
Para comenzar a usar la aplicación descarga el proyecto o bien clonalo
git clone https://github.com/Arquisoft/Agents_e1b.git
Una vez descargado el proyecto, puedes lanzarlo de dos formas, o bien directamente desde una terminal usando maven, o desde tu IDE favorito, en nuestro caso eclipse.
Sigue los siguientes pasos:
- Abre eclipse.
- Selecciona la opción de Importar un proyecto de Maven existente.
- Situate en Application.java.
- Abre las opciones desplegables con el botón derecho del ratón y clickea sobre Ejecutar como aplicación java.
Sigue los siguientes pasos:
mvn compile
Una vez compile, ejecuta:
mvn spring-boot:run
De cualquier manera, al acceder a localhost:8080 tendrás acceso a la aplicación web.
Para obtener los datos del agente, puedes hacer una petición POST a localhost:8080/user, con el siguiente formato:
{"ident":"identificador del agente", "password":"contraseña del agente", "kind":"Código del tipo de agente"}
<data>
<ident>Identificador del agente</ident>
<password>Contraseña del agente</password>
<kind>Tipo del agente</kind>
</data>
Esto debería devolverte una salida en JSON tal que esta que vamos a simular utilizando Curl:
curl -H "Content-Type: application/json" -X POST -d '{"ident":"entidad1", "password":"123456", "kind":2'} http://localhost:8080/user
Valor de retorno:
{
"name":"Valgrande Pajares",
"location":"43.5479621,-5.9304147",
"email":"pajares@hotmail.com",
"id":"entidad1",
"kind":"Entity",
"kindCode":2
}
Usuarios de prueba:
-
Nombre:Paco Contraseña:123456 Email:paco@hotmail.com Identificador:12345678P Localización:43.5479621,-5.9304147 Tipo:1
-
Nombre:Pepe Contraseña:123456 Email:pepe@hotmail.com Identificador:12345678A Localización:43.5479621,-5.9304147 Tipo:1
-
Nombre:Valgrande Pajares Contraseña:123456 Email:pajares@hotmail.com Identificador:entidad1 Localización:43.5479621,-5.9304147 Tipo:2
-
Nombre:Estación Fuentes De Invierno Contraseña:123456 Email:fuentes@hotmail.com Identificador:entidad2 Localización:43.5479621,-5.9304147 Tipo:2
-
Nombre:SensorTemperatura Contraseña:123456 Email:sensorT@hotmail.com Identificador:sensor1 Localización:43.5479621,-5.9304147 Tipo:3
-
Nombre:SensorHumedad Contraseña:123456 Email:sensorH@hotmail.com Identificador:sensor2 Localización:43.5479621,-5.9304147 Tipo:3