crear un programa con un método o función con la siguiente firma:
boolean isMutant(String[] dna);
En donde se recibirá como parámetro un array de Strings que representan cada fila de una tabla
de (NxN) con la secuencia del ADN. Las letras de los Strings solo pueden ser: (A,T,C,G), las
cuales representa cada base nitrogenada del ADN.
Sabrás si un humano es mutante, si encuentras más de una secuencia de cuatro letras
iguales, de forma oblicua, horizontal o vertical.
Ejemplo Caso mutante:
String[] dna = {"ATGCGA","CAGTGC","TTATGT","AGAAGG","CCCCTA","TCACTG"};
En este caso el llamado a la función isMutant(dna) devuelve “true”.
URL API AWS http://xmenmutant-env.eba-dqmzwbsa.us-east-1.elasticbeanstalk.com
Recibe una objeto el cual contiene la base nitrogenada del ADN y Devuelve una respuesta http 200-OK si el DNA enviado pertenece a un mutante. de lo contrario, si el DNA es de un humano la respuesta que devolvería es un código http 403-Forbidden
Headers
Content-Type:application/json
Body - Ejemplo
{ "dna": [ "ATGCAA", "CAGTGG", "TTATGA", "AGAAGA", "CCCCTA", "CCCCTG" ] }
- HTTP Status 200-OK (Is mutant)
- HTTP Status 403-Forbidden (is Human)
Devuelve las estadísticas de la base de datos. Cantidad de DNA mutante procesado y cantidad de DNA Humano procesado
{ "count_mutant_dna": 6, "count_human_dna": 2, "ratio": 3.0 }
- Java jdk 11.0.13
- apache-maven-3.8.5
-
Clonar el repositorio
git clone https://github.com/johnsebas28/MutantDetector.git -
Cambiar variables de configuración. Abrir el archivo
application.propertiesubicado en el pathsrc\main\resources
server.port=5000
spring.datasource.url=[Your Mysql Database URL ]
spring.datasource.username=[YourUser]
spring.datasource.password=[yourPassword]
spring.jpa.hibernate.ddl-auto=update- Entrar a la carpeta del proyecto (Root Path) para compilarlo y hostearlo a través del siguiente comando (Windows)
.\mvnw.cmd spring-boot:run - El proyecto está configurado para abrir en el puerto 5000
Cuando el proyecto compila, se crea la Base de datos en AWS Gracias a JPS.Hibernate.
spring.jpa.hibernate.ddl-auto=update
Para realizar las pruebas y obtener el porcentaje de cobertura se utlizió la librería Jacoco.
- Entrar a la carpeta del proyecto a través de un terminal (root Path)
- Correr el siguiete comando
mvn clean test - Para conocer el porcentaje de cobertura de las pruebas:
- Entrar a la ruta
\target\site\jacocoy abrir el archivoindex.html
- Entrar a la ruta
Nota: El proyecto cuenta con una cobertura del 95%