1. Desarrolladores:
● Carlos Campos Fuentes
● Francisco Javier Expósito Cruz
● Iván Ortega Alba
● Victor Coronas Lara
Evenge Gestor de eventos
1
2. ÍNDICE
1. ¿Qué es Evenge?
2. Google App Engine
2.1. ¿Qué es?
2.2. ¿Por qué lo hemos usado?
2.3. ¿Qué ventajas e inconvenientes que presenta?
3. Método de trabajo del equipo
3.1. Slack
3.2. GitHub
4. Diseño de la app
4.1. MVC(Modelo Vista Controlador)
4.2. Frameworks:
4.2.1. Jinja
4.2.2. Webapp2
4.2.3. Bootstrap
4.3. Diseños de clases
5. Construyendo unas bases sólidas de desarrollo
5.1. Herramientas de Provisionamiento
5.2. Herramientas de IC y despliegue.
5.3. Herramientas de Tests.
6. Pantallazos de intefaces
2
3. 1. ¿QUÉ ES EVENGE?
● Evenge es una aplicación de gestión de eventos
● Una aplicación íntegramente en la nube
● Principios:
○ Creación y gestión
○ Difusión por Redes Sociales, E-mail y Blogs.
○ Generación de informes y diplomas
3
4. ● Gestión de usuarios
● Inscripción
● Publicación del material
● Calendario de proyectos públicos para usuarios no
registrados
1. ¿QUÉ ES EVENGE?
1.1. Características
4
5. 2. Google App Engine
2.1 ¿QUÉ ES?
● Google App Engine
5
6. 2. Google App Engine
2.2 ¿Por qué lo hemos usado?
● Usando las infraestructuras de Google
● Da soporte para diferentes tipos de lenguajes:
○ Python
○ Java
○ Go
○ PHP(incorporado recientemente)
6
7. 2. Google App Engine
2.3 ¿Qué ventajas e inconvenientes que presenta?
Ventajas:
● Datastore
● Portal de administración
● Generar un entorno de desarrollo local
● En gratis te ofrece: 500MB de espacio para tu aplicación y admite
5 millones de visitas mensuales.
● Es altamente escalable, así como la estabilidad y la seguridad.
7
8. 2. Google App Engine
2.3 ¿Qué ventajas e inconvenientes que presenta?
Alguno de los inconvenientes que nos encontramos son:
● El soporte para SSL solo está disponible par dominios *.
appspot.com
8
9. 3. MÉTODO DE TRABAJO DEL EQUIPO
3.1 SLACK
● Unificar las comunicaciones
● Crear diferentes canales
● Nos permite integración máxima:
○ GitHub
○ Google docs
○ Twitter
9
10. 3. MÉTODO DE TRABAJO DEL EQUIPO
3.2 GitHub
● Proyecto y blog (bajo Jekyll) almacenado en el
repositorio Evenge
● Método de aceptación y revisión de código
10
11. 4. Diseño de la app
4.1 MVC(Modelo Vista Controlador)
11
12. 4. Diseño de la app
4.2 Diseños de clases
El modelo está dividido:
● Usuarios
● Organizaciones
● Eventos
● Asistentes
● Ponentes
12
13. ● Es una librería que nos permite renderizar
script en Python a HTML de una forma
"Python style".
● Es un motor de plantillas con todas las
funciones de Python.
4. Diseño de la app
4.3 Frameworks
13
14. ● Se basa en request handler or simply handler:
● La decisión de usar Webapp2 es por :
○ Ligero,
○ simple
○ contiene el mismo sistema de las plantillas de
Django
4. Diseño de la app
4.2 Frameworks
14
15. ● Es el framework desarrollado por Twitter que
permite crear interfaces web con CSS y
Javascript Responsive Desing.
● Establece estilos rápidamente asignando
clases en el HTML.
4. Diseño de la app
4.3 Frameworks
15
16. 5. Construyendo unas bases sólidas de desarrollo
5.1 Herramientas de aprovisionamiento
● Docker para el aprovisionamiento de un entorno de
desarrollo para Evenge
● Así como otro script para automatizar el proceso
de instalación de Docker, todas las dependencias
que requiere para su correcto funcionamiento y
instalamos la imagen producida con el Dockerfile.
16
17. 5. Construyendo unas bases sólidas de desarrollo
5.2 Herramientas de IC y despliegue
● Integración Continua:
○ Este sistema de integración continua permite crear, provisionar,
testear y desplegar nuestra app en una máquina virtual, en el
servidor que queramos.
17
18. 5. Construyendo unas bases sólidas de desarrollo
5.2 Herramientas de IC y despliegue
● Despliegue:
○ Podemos desplegarla en local para realizar toda la
batería de pruebas que necesitemos.
○ Para el despliegue final es tan sencillo como darle al
botón “Deploy”.
18
19. 5. Construyendo unas bases sólidas de desarrollo
5.3 Herramientas de Tests. NoseGae y Shippable
● 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)
19
20. 6. Pantallazos de interfaces
20
Desde esta pantalla podemos crear un nuevo usuario.
27. 6. ¿Por que formar parte de Evenge?
● Aprender Google App Engine
● Desarrollos rápidos de aplicaciones web
● Conocimientos exportables a otras tecnologías
como Django
● NoSQL y sistemas de plantillas
● Participar en un SaaS (forma fácil de ganar
dinero)
27
29. ¿Qué queremos hacer en #hackathonugr?
32 issues abiertos, por ahora... (Scrum)
○ Generar pdf
○ Publicidad por Twitter y Facebook automática
○ Algunas funcionalidades básicas:
■ ICMA Ponentes y asistentes
■ Pasar lista a asistentes
■ Darle dinamismo por JQuery
■ Hacer un inicio de presentación de la app
■ Y muchos etc más...
29