Repositorio github con commits: https://github.com/Samuyo/ProyectJSON_AD/
- INTRODUCCIÓN
- CAPTURAS POSTMAN
- MANUAL USUARIO
- MANUAL TÉCNICO
- REPARTO DE TAREAS
- EXTRAS REALIZADOS
- PROPUESTAS
- CONTROL DE ERRORES
- CONCLUSIÓN Y TIEMPO DEDICADO
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.
La primera imagen es Gekko, un agente de VALORANT. La captura la hicimos en postman, la aplicación que usamos para comprobar las consultas.
Está captura es sobre Fade, que al igual que Gekko, es un agente de VALORANT.
La última captura es sobre la consulta de Breach.
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
Tienes que usar en la cmd el comando
java -jar ruta/de/archivo/jar
Para ejecutar el programa es necesario entrar a la carpeta y ejecutar el archivo "Main.java".
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.
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.
Es necesario tener instalado javafx y el jdk de java 17.
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
.
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.
getAgentesJSON
Es el método que vincula procesarRespuesta
y accesoAPI
para pasarle la respuesta de accesoAPI
a procesarRespuesta
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
Getters
y Contructor
saveUser:
Es el método encargado de escribir los usuarios que existen dentro del el archivo txt.
- 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
Por revisar cuáles hemos hecho
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.
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á.
El tiempo dedicado de David es aproximadamente de: 20h (por ahora)
El tiempo dedicado de Samuel es aproximadamente de : 20h
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.