Skip to content

eric-stoppel/mutants

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Prerequisitos

Para poder iniciar la aplicaccion se debe tener instalado docker y docker-compose

Tecnologias Utilizadas

  • DevOps
    • Docker & Docker-compose
  • Aplicacion
    • JDK 11
    • Apache Maven 3.3.9
  • IDE
    • Intellij 2020
  • Servidores de BD
    • Mongo DB
  • Infraestructura
    • NGINX como balanceador de carga

La arquitectura de la aplicacion esta compuesta armada en un docker compose el cual levanta 4 replicas del backend, 1 base de datos Mongo y un NGINX como reverse proxy para balancear la carga.

Conventional commits

Para este proyecto se uso la metodologia de conventional commits. Abrir

Cobertura Testing

coverage

Decisiones: Dado que no contamos con un proceso de CI/CD al levantar la app omitimos los tests, idealmente deberiamos contar con una pipeline que corra los tests antes de buildear la imagen de docker.

Deploy local

  • Para correr el proyecto local (linux):
   someone@# git clone https://github.com/eric-stoppel/mutants.git
   someone@# cd mutants
   someone@# sh deploy.sh

Luego, si ejecutamos - docker ps deberiamos ver 6 contenerdores, 4 replicas del backend, el nginx y la base mongo, para probar la api local se debe acceder a localhost:9090: -> /mutant o -> /mutant/stats de la misma manera que se describe en servicios cloud

Decisiones de diseño

  1. Las credenciales de la base de datos estan en el application.properties, lo ideal seria que no se pusheen al repo, para esto deberiamos usar variables de entorno.

  2. En caso de existir distintos tipos de mutantes en un futuro se puede crear una interfaz MutantServiceInterface y realizar implementaciones sobre esta, al ser el dominio acotado no fue necesario.

Servicios cloud

La api fue hosteada en heroku y la base de datos en un cluster de Atlas

About

Mutants exam for Mercado Libre

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published