/mutantfinder

Primary LanguageGoMIT LicenseMIT

Buscador de Mutantes

Con este proyecto se pretende agilizar la búsqueda de Magneto para reclutar mutantes y darle unas nalgaditas a los X-Men

Requerimientos

  • Golang 1.15 o sup.
  • Generar un proyecto en Firebase.
  • Postman.

Configuración

Es necesario tener configurado la varibale de go: GO111MODULE="on".

Si no tienes configurada una variable de entrono PORT el puerto será el 3000, en caso contrario, será el puerto que hayas configurado.

Debes descargar de Firebase el json de las credenciales de tu proyecto y después setear las variables de entorno GOOGLE_APPLICATION_CREDENTIALS y FBASE_ID en tu .bashrc, .zshrc, profile o lo que uses, las instrucciones detalladas están aquí, la varibale FBASE_ID no es más que el ID de tu proyecto de Firebase, lo puedes ver en el json que descargaste:

export GOOGLE_APPLICATION_CREDENTIALS="/path/al/firebase/credentials.json"
export FBASE_ID="id-firebase"

Ahora entra a tu proyecto Firebase y en Cloud Firestore crea la colección stats, el documento counter y agrega las propiedades count_mutant_dna y count_human_dna, ambas son numéricas, inicialózalas en 0

A Divertirnos!

Clona el repo y entra a la carpeta "mutantfinder/", una vez dentro, puedes correr el programa:

$ go gun main.go

// Después de instalar las dependencias te aparecerá algo así:

2021/02/18 23:18:19 Environment is ok!

 ┌───────────────────────────────────────────────────┐ 
 │                    Fiber v2.5.0                   │ 
 │               http://127.0.0.1:3000               │ 
 │                                                   │ 
 │ Handlers ............ 11  Processes ........... 1 │ 
 │ Prefork ....... Disabled  PID ............. 55783 │ 
 └───────────────────────────────────────────────────┘ 

El proyecto tiene un validador de las variables de entorno antes mencionadas, si no las tienes configuradas, te dará error y si están mal configuradas, el proyecto tirará errores.

Postman

Puedes hacer pruebas con postman, aquí te dejo la colección, sólo tendrás que agregar una bariable global {{baseUrl}} con el valor de tu local host (lo puedes ver al iniciar el programa, te da la url)

Descripción del API

Puedes hacer un GET a http://127.0.0.1:3000/api.yaml y te dará la documentación en OpenAPI 3

Test

Puedes hacer el testing del algorimo de análisi de las cadenas de ADN corriendo:

$ go test ./structs

Correrá los test de los diferentes casos del algoritmo.

Diviérte!