31
Desarrolladores: Carlos Campos Fuentes Francisco Javier Expósito Cruz Iván Ortega Alba Victor Coronas Lara Evenge Gestor de eventos 1

Presentación Evenge #hackathonugr

Embed Size (px)

Citation preview

ÍNDICE1. ¿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 equipo3.1. Slack3.2. GitHub

4. Diseño de la app4.1. MVC(Modelo Vista Controlador)4.2. Frameworks:

4.2.1. Jinja4.2.2. Webapp24.2.3. Bootstrap

4.3. Diseños de clases5. 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 intefaces2

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

● 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

2. Google App Engine2.1 ¿QUÉ ES?

● Google App Engine

5

2. Google App Engine2.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

2. Google App Engine2.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

2. Google App Engine2.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

3. MÉTODO DE TRABAJO DEL EQUIPO3.1 SLACK

● Unificar las comunicaciones

● Crear diferentes canales

● Nos permite integración máxima:

○ GitHub

○ Google docs

○ Twitter

9

3. MÉTODO DE TRABAJO DEL EQUIPO3.2 GitHub

● Proyecto y blog (bajo Jekyll) almacenado en el

repositorio Evenge

● Método de aceptación y revisión de código

10

4. Diseño de la app4.1 MVC(Modelo Vista Controlador)

11

4. Diseño de la app4.2 Diseños de clases

El modelo está dividido:● Usuarios● Organizaciones● Eventos● Asistentes● Ponentes

12

● 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 app4.3 Frameworks

13

● 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 app4.2 Frameworks

14

● 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 app4.3 Frameworks

15

5. Construyendo unas bases sólidas de desarrollo5.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

5. Construyendo unas bases sólidas de desarrollo5.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

5. Construyendo unas bases sólidas de desarrollo5.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

5. Construyendo unas bases sólidas de desarrollo5.3 Herramientas de Tests. NoseGae y Shippable

● Test unitariosdef testInsertarEvento(self):

evenge = Evenge()

evento = Evento (

evt.nombre = “Evento de prueba”

evt.tipo = 1

… )

response = evenge.testInsertarEvento(evento)

self.assertEqual(response, True)

19

6. Pantallazos de interfaces

20

Desde esta pantalla podemos crear un nuevo usuario.

21

Pantalla para el login.

6. Pantallazos de interfaces

22

Desde la sección Mi cuenta, podemos ver los datos del usuario registrado y organizaciones creadas.

6. Pantallazos de interfaces

23

Ésta será la vista por defecto de evenge, donde podremos ver los eventos creados

6. Pantallazos de interfaces

24

Desde ésta página podemos crear un nuevo evento.

6. Pantallazos de interfaces

25

6. Pantallazos de interfaces

26

6. Pantallazos de interfaces

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

¿Qué puedes hacer?

● Front-end (HTML,CSS y JS)● Back-end (Python)● Comunity manager● Aportar nuevas ideas

28

¿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

¿?

30

31

¿Preguntas?

Desarrolladores:

● Carlos Campos Fuentes

● Francisco Javier Expósito Cruz

● Iván Ortega Alba

● Victor Coronas Lara

Evenge Gestor de eventos