Juego geolocalizado basado en resolver preguntas que otros usuarios “dejaran caer” sobre el mapa.
Desarrollar un juego móvil en el cual al ir andando por la calle podamos ver y resolver preguntas o acertijos que otros usuarios han planteado. Esto proporcionara puntos que nos haran subir en diferentes rankings.
El proyecto consta de:
- Servidor de login. Posiblemente sea un servidor o servicio compartido. En php o pyton.
- Servidor de geo-etiquetas. Se probara el lenguaje de programacion Phyton.
- Servidor de juego, una api PHP.
- Base de datos Mysql.
- Aplicación Android.
Se utilizará una arquitectura basada en microservicios.
Para el despliege del proyecto se ha decidido utilizar una maquina virtual en Azure, con los recuros mas modestos. La imagen elegida es la de “UbuntuLTS”. Se desplegara en la región de azure “eastus”.
Se ha decidido utilzar “UbuntuLTS” o “Ubuntu Server Con Soporte Tecnico Extendido” sobre otras imágenes de sistemas operativos porque ya se ha trabajado en ella con anterioridad. Además, dispone de una amplia documentación, la mayoría mantenida por su gran comunidad.
Para desplegar de manera sencilla se recomienda el uso de este script.
La documentación de la automatización se puede encontrar en este enlace.
Despliegue:52.179.99.68
Para orquestar las maquinas necesarias para este proyecto se ha utilizado vagrant en su version "2.0.1". Se ha elegido esta herramienta por su sencillez y compativilidad con azure.
Tanto el sistema operativo como el aprovisionamiento es el utilizado en las versiones anteriores. Podemos ver una guia de instalacion en el siguiente enlace.
Despliegue Vagrant:52.232.67.32
Docker automatiza el despliegue de aplicaciones en contenedores, abstrayendo la Virtualización a nivel de sistema operativo. Se ha instalado una imagen de debían en su versión estable, y se le ha provisionado mediante el Dockerfile con: php, php-mysql, y apache. Aparte de proporcionar un pequeño servicio de prueba que mostrará : ‘ {“status”:”ok”} ’. Podemos ver más información de cómo se ha instalado en el siguiente Enlace.
- Contenedor: https://serviciotony.azurewebsites.net/
- Dockerhub: https://hub.docker.com/r/tonyesp/mii_cc_proyecto/
La orquestación de la aplicación se ha realizado mediante docker-composer. Levantando una maquina con node y otra con mongodb. Ambas imágenes son las oficiales para cada entorno. Podemos encontrar los detalles para su lanzamiento en azure en el siguiente manual.
Se ha decidido aprovisionar el servidor utilizando chef-solo. Se provisionara: php, mysql, apache2, pyton3 y git. Podemos encontrar una guia en:este enlace.
Proyecto bajo licencia GNU GLP V3