Git Product home page Git Product logo

submodulo-red-social-juego's Introduction

Build Status

Heroku

Docker

Submódulo de la Red Social: Juego

Este proyecto participará en el certamen de proyectos libres de la oficina de Software libre de la Universidad de Granada: Red Social.

Las bases del certamen aquí

Descripción

Se tratará de crear un juego para la red social. Los usuarios de la red social tendrán la opción de jugar a este juego. Se jugará desde el navegador, es decir, no es una aplicación de escritorio. Para ello se hará uso de los gráficos en la web, en nuestro caso se usará HTML5 y WebGL, las últimas tecnologías de gráficos en la web.

Herramientas de desarrollo

Para la parte del servidor se usará Node.js y Socket.io .

El servidor extraerá datos de los jugadores que jueguen al juego y se almacenarán en una base de datos MongoDB. Otro módulo encargado del Analytics se encargará de analizarlos con herramientas de análisis de datos tales como Rstudio o Knime. El módulo del juego solo almacenará los datos.

El grueso de este módulo es la parte del cliente que es un frontal en HTML5 donde se incluirá todo el módulo del juego. Dentro de éste frontal estará el Canvas donde se pondrá la aplicación o juego en WebGL.

WebGL es una especificación estándar que está siendo desarrollada actualmente para mostrar gráficos en 3D en navegadores web. El WebGL permite mostrar gráficos en 3D acelerados por hardware (GPU) en páginas web, sin la necesidad de plug-ins en cualquier plataforma que soporte OpenGL 2.0 u OpenGL ES 2.0. Técnicamente es un API para javascript que permite usar la implementación nativa de OpenGL ES 2.0 que será incorporada en los navegadores.

Para las pruebas unitarias se usará Mocha y para la integración continua Travis CI.

Como se trata de desplegar una aplicación en la nube usaremos Azure de Microsoft.

Despliegue en PaaS

La plataforma PaaS elegida ha sido Heroku, principalmente debido a su relativa facilidad de uso. La configurción a nivel de despliegue en Heroku es mediante un archivo lamado Procfile, cuya definición en mi caso es con una ejecución del servidor.

Procfile

Este PaaS soporta Node.js, lenguaje utilizado para la implementación de mi aplicación, esto ha hecho que el archivo de configuración anterior sea simple.

Otro de los motivos de utilización es que heroku dispone de un método de despliegue automático que funciona con repositorios de Github. Para configurarlo solo tenemos que ingresar nuestra cuenta de Github y seleccionar el repositorio del proyecto. A continuación seleccionamos la casilla de esperar a la integración continua antes del despliegue y seleccionar la rama 'master' del repositorio. De esta manera cada vez que se haga un commit en nuestro repositorio del proyecto, se hará la integración continua y se desplegará en heroku de manera automatica.

img1

En el siguiente enlace se puede ver el ciclo completo de despliegue en un PaaS con un ejemplo.

Vemos como la aplicación ha sido desplegada correctamente en la siguiente URL: http://juegoetsiit.herokuapp.com/.

Instalación

  • Código
git clone https://github.com/albertogarf91/Submodulo-Red-social-Juego.git

cd Submodulo-Red-social-Juego
  • Instalación de dependencias npm install

  • Ejecución npm start

Si has hecho lo anterior estará disponible en http://localhost:5000/

Docker

En este enlace está la imagen para el despliegue automático del submódulo de la red social. Es necesario utilizar docker para desplegarlo y luego lanzarlo.

Cabe destacar que ha sido sincronizado con este repositorio para actualizarse automáticamente.

submodulo-red-social-juego's People

Contributors

albertogarf91 avatar

Watchers

Luis avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.