Final certamen de Proyectos Libres UGR 2014-2015
EVENGE
Quienes somos
1
EVENGE, lo constituye un grupo de 4Â personas:
Â
Carlos Campos                Iván Ortega
      @ccamposf                            @ivanortegaalba
       http://www.ccamposfuentes.es             http://www.ivanprograma.com
       http://github.com/ccamposfuentes           http://github.com/ivanortegaalba
Â
 Francisco Javier Expósito       Â
      @franexp                             Â
       http://www.franexposito.es                Â
       http://github.com/franexposito
EVENGE
Indice
2
EVENGE
¿Qué es EVENGE?
3
Evenge es una aplicación para la gestión de eventos.
Â
Integrado en la nube mediante Google App Engine.
Â
Principios:
EVENGE
¿Qué es EVENGE?
4
CaracterÃsticas:
EVENGE
¿Qué es EVENGE?
5
Para qué usarlo:
Su principal uso será para promocionar y gestionar:
Destinado principalmente a eventos relacionados con las Universidades.
EVENGE
Licencias usadas
6
Para el desarrollo de Software, hemos usado la licencia GNU General Public License.
Evenge - gestor de eventos (events management)
Copyright (C) 2014 - desarrollo.evenge@gmail.com
Carlos Campos Fuentes | Francisco Javier Exposito Cruz | Ivan Ortega Alba | Victor Coronas Lara
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
EVENGE
Licencias usadas
7
Para el contenido multimedia creado tal como esta presentación está licenciado bajo Creative Commons.
EVENGE
Google App Engine
8
Google App Engine nos aporta una solución de Plataforma como Servicio bajo la infraestructura de Google.
EVENGE
Google App Engine
9
¿Por qué hemos usado GAE?
Â
   En nuestro caso, sobre Python.
EVENGE
Google App Engine
10
Ventajas de su uso
EVENGE
Google App Engine
11
Alguna desventaja
EVENGE
Diseño de la aplicación
12
Modelo Vista Controlador (MVC)
Trabaja con los datos.
Â
Presentación al usuario final.
Â
Según las ordenes del usuario, actúa sobre los datos.
EVENGE
Diseño de la aplicación
9
Diseño de clases
El modelo está dividido en:
13
EVENGE
Diseño de la aplicación
9
Frameworks
Jinja2 es un lenguaje de plantillas que nos permite renderizar script en Python a HTML de una forma "python style".
Â
Es rápido, ampliamente utilizado y seguro con el entorno de ejecución.
14
EVENGE
Diseño de la aplicación
9
Frameworks
Se basa en request handle or simply handler.
Â
Lo usamos por:
15
EVENGE
Diseño de la aplicación
9
Frameworks
Framework desarrollado en twitter que nos permite crear interfaces web con CSS y Javascript Responsive Design.Â
Â
Establece estilos rápidamente asignando clases en HTML.
16
EVENGE
Aprovisionamiento
9
Docker
Usamos docker para el aprovisionamiento de un entorno de desarrollo para Evenge.
17
También tenemos un script para automatizar el proceso de instalación de Docker, todas las dependencias que requiere para su correcto funcionamiento e instalamos la imagen producida con el Dockerfile.
EVENGE
Integración continua
9
Shippable
Este sistema de integración continua permite crear, provisionar, testear y desplegar nuestra app en una máquina virtual o en el servidor que deseemos.
18
EVENGE
Despliegue
9
El despliegue se puede realizar mediante la integración continua desarrollada en local.
Â
Windows y Mac
Basta tan solo con abrir la app que nos facilita Google, seleccionar nuestro proyecto y pulsar sobre deploy.
19
EVENGE
Despliegue
9
Linux
En linux, al no existir ninguna aplicación creada por Google, debemos de realizar el deploy con el comando:
20
appcfg.py --email=accountname@gmail.com update /ubicacion/app
EVENGE
Herramienta de test
9
NoseGae y Shippable
21
Test Unitarios
def testInsertarEvento(self):
evenge = Evenge()
evento = Evento(
evt.nombre = "Evento de prueba"
evt.tipo = 1
... )
response = evenge.testInsertarEvento(evento)
self.assertEqual(response, True)
EVENGE
Herramienta de test
9
NoseGae y Shippable
22
Si el resultado es satisfactorio, nos aparecerá:
EVENGE
Método de trabajo
9
Comunicación
Para la comunicación hemos usado slack.
Nos permite crear diferentes canales e integrarlos entre otros muchos con:
23
EVENGE
Método de trabajo
9
GitHub
Proyecto y blog (bajo Jekyll) almacenado en el repositorio de la organización Evenge.
Â
Método de aceptación y revisión de código:
24
EVENGE
Pantallazos
25
EVENGE
Pantallazos
26
EVENGE
Pantallazos
27
EVENGE
Pantallazos
28
EVENGE
Pantallazos
29
EVENGE
Pantallazos
30
EVENGE
Pantallazos
31
EVENGE
Pantallazos
32
EVENGE
Pantallazos
33
EVENGE
Otros datos de interes
9
Evenge, actualmente cuenta con:
34
EVENGE
Demo
9
Es el momento de ver como funciona EVENGE
35
EVENGE
¿Alguna pregunta?
9
GRACIAS POR SU ATENCIÓN
36
Si tienes alguna duda sobre EVENGE, este es el momento.
@grupoEvenge
http://evenge.github.io
desarrollo.evenge@gmail.com
http://github.com/evenge/EVENGE