Skip to content

Acceso-a-Datos2024/proyecto-ud01-valorantapi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AUTORES: David Baquero y Samuel

Repositorio github con commits: https://github.com/Samuyo/ProyectJSON_AD/


Índice

  1. INTRODUCCIÓN
  2. CAPTURAS POSTMAN
  3. MANUAL USUARIO
  4. MANUAL TÉCNICO
  5. REPARTO DE TAREAS
  6. EXTRAS REALIZADOS
  7. PROPUESTAS
  8. CONTROL DE ERRORES
  9. CONCLUSIÓN Y TIEMPO DEDICADO

INTRODUCCIÓN:

OBJETIVO DEL PROYECTO:

El objetivo del proyecto es hacer una aplicación con interfaz gráfica, que acceda a una "base de datos" en un archivo "json" de una api que está en internet. En nuestro caso lo elegimos de VALORANT, donde vamos a buscar agentes.


CAPTURAS POSTMAN


2.1

La primera imagen es Gekko, un agente de VALORANT. La captura la hicimos en postman, la aplicación que usamos para comprobar las consultas. Imagen gekko


2.2

Está captura es sobre Fade, que al igual que Gekko, es un agente de VALORANT. Imagen fade


2.3

La última captura es sobre la consulta de Breach. Imagen breach


MANUAL USUARIO

Este punto se divide en 3, usado el jar, usando el IDE o compilador y el funcionamiento genérico. Antes de entrar al funcionamiento, se debe hacer:

git clone https://github.com/Samuyo/ProyectJSON_AD.git ruta/donde/quieres/clonar

3.1 Funcionamiento con el jar

Tienes que usar en la cmd el comando

java -jar ruta/de/archivo/jar

3.2 Funcionamiento desde el IDE o compilador

Para ejecutar el programa es necesario entrar a la carpeta y ejecutar el archivo "Main.java".


3.3 Funcionamiento genérico

Una vez tienes la ventana de login, el usuario de inicio es "Usuario" y la contraseña es "1234a" (posibilidad de registrarte no llevado a cabo aún) y darle al botón que pone Enter. Se te abrirá una ventana donde vas a tener un botón para salir a la pantalla de login y un sitio donde introducir el nombre de el agente que quieres y una vez le das a buscar, se cambiará la ventana. Los agentes disponibles son:

Gekko, Fade, Sova, Breach, KAY/O, Skye,
Phoenix, Neon, Reyna, Raze, Jett, Iso, Yoru,
Vyse, Deadlock, Chamber, Sage, Killjoy, Cypher,
Omen, Clove, Brimstone, Viper, Astra y Harbor 

En esta ventana, observarás un botón para volver al buscador y los datos (nombre, descripción, habilidades y rol) en inglés, ya que por el momento, la api solo está en inglés.

-añadir imagen si lo conseguimos.


MANUAL TÉCNICO

En la paquete de Controller, están ubicados los controladores de las ventas y sus funciones tratado en el 4.2 En el paquete Modelo, están ubicados las clases y los métodos de funcionamiento de la aplicación tratado en el 4.3.


4.1 Requisitos de uso

Es necesario tener instalado javafx y el jdk de java 17.


4.2 Paquete Controller

LoginController

leer: Este método se encarga de leer y dividir usuario y contraseña de un archivo txt que guarda los usuarios y se lo pasa a un HashMap.

autentificacionUser: Entra al HashMap y verifica que el valor de la contraseña es igual a la contraseña que se le pasa más adelante en el método handleBtnEnter.

handleBtnEnter: Este metodo es el del botón Enter, antes de activarse, obtiene el texto que se le pasa por teclado a la aplicación, tanto del usuario como de la contraseña, si el método autentificacionUser devuelve True, entonces entra, carga, obtiene el estado y muestra la pantalla de Search.

AgentesController

handlebtnReturn: Es el botón encargado de volver al apartado de busqueda de agentes. Básicamente, carga la venta de search.fxml, obitiene el estado en el que está y luego muesta la ventana.

accesoAPI: Es el método encargado de acceder a la API por un objeto URL, hace un GET y obtiene la respuesta. Después comprueba que la respuesta sea igual que lo que hay, si es así, lee cada linea y la guarda en String.

procesarRespuesta: Es el método que se encarga de procesar la respuesta del método anterior. Primero crea un JSONObject y un JSONArray. Por cada agente en el array obtiene sus datos, añadiendo después todo como un objeto de la clase Character y por último lo añade al ArrayList.

setAgentes: Es el método que utilizamos para llamar a todos los cambios al buscar un agente.

setNomeAge cambia el Label de el nombre.

lblDescAg cambia el Label de la descripción.

lblRolAg cambia el Label de el rol.

lblAbil1Ag cambia el Label de la primera habilidad.

lblAbil2Ag cambia el Label de la segunda habilidad.

lblAbil3Ag cambia el Label de la tercera habilidad.

lblAbil3Ag cambia el Label de la cuarta habilidad.

getAgentes se utiliza para llamar a la funcion getAgentesJSON y devolver la lista con datos.

getAgentesJSONEs el método que vincula procesarRespuesta y accesoAPI para pasarle la respuesta de accesoAPI a procesarRespuesta

SearchController

handlebtnBuscar Es el método encargado de buscar un agente, pero antes de ello verifica que esté con el metodo buscarAgente. Si no es null, entonces carga, obtiene el controllador de la proxima ventana para usar el método setAgentes Se explica arriba, después obtiene el estado de la ventana y la muestra.

buscarAgente Este método recibe un String del método handlebtnBuscar y agrega cada agente a un objeto AgentsController.

handlebtnSalir Es el método encargado de cargar, obtener el estado y mostrar la ventana de login. Básicamente funciona como un Cerrar sesión.

getAgentesJSON


4.3 Paquete Model

Character

Getters y Contructor

User

saveUser: Es el método encargado de escribir los usuarios que existen dentro del el archivo txt.


REPARTO DE TAREAS

  • Paquete Modelo: Samuel
  • Paquete Controller: Funcionamiento con la interfaz gráfica: David Acceso a JSON: Ambos, principalmente Samuel ya que tuvimos un problema y fue quien lo arregló
  • README.MD: David
  • Main: David
  • Diseño de interfaz: Ambos

EXTRAS REALIZADOS

Por revisar cuáles hemos hecho


PROPUESTAS

Si en algún momento se continúa con la aplicación, se podría añadir la búsqueda de mapas y armas. En cuanto a las skins podría ser una función mucho más adelante en las armas.


CONTROL DE ERRORES

Por el momento:

  • Si se introduce el nombre de un agente que no existe, la aplicación no busca nada.
  • Si el usuario con el que se intenta iniciar no existe, la aplicación no entrará.

CONCLUSIÓN Y TIEMPO DEDICADO

El tiempo dedicado de David es aproximadamente de: 20h (por ahora)
El tiempo dedicado de Samuel es aproximadamente de : 20h

9.1 Conclusión:

Con este proyecto hemos aprendido: a hacer interfaces y vincularlas en java, ya que de momento solo sabíamos en Python, hemos aprendido a entrar a archivos json en red, hemos practicado control de versiones en distintas ramas y nos ha servido como repaso para el examen de este temario.

About

proyecto-ud01-valorantapi created by GitHub Classroom

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages