Skip to content

App Android participante en el VIII Concurso Universitario de Software Libre, para la creación y gestión de quedadas entre amigos

License

Notifications You must be signed in to change notification settings

Qdemos/qdemosapp

Repository files navigation

Qdemos!

App

¿Qué es Qdemos?

Qdemos!

App Android participante en el VIII Concurso Universitario de Software Libre, donde ha sido premiada con el 2º Premio en la fase Local de la Universidad de La Laguna, y ha sido Finalista en la Fase Nacional.

CUSL

Con Qdemos! podremos crear y gestionar quedadas entre amigos, convirtiendo en historia las largas discusiones que se generan por Whatsapp o Facebook cuando queremos coordinarnos para quedar.

Nuestro algoritmo de matching, permitirá buscar la mejor fecha posible entre todas las propuestas, acorde a las preferencias de los usuarios.

¡Y todo esto sin dar datos extras, haciendo uso de la información de nuestros perfiles de las redes sociales!

¿Quieres quedar?... Qdemos!

Cómo Participar

Si quieres participar en el proyecto... ¡sólo hace falta que tengas ganas!. Después configura todo el entorno como se explica en sucesivas secciones y empieza a hacer tus pull request de las funcionalidades o mejoras que cambiarias o añadirias. ¡Esperamos tu colaboración!

Configurar el Entorno de Desarrollo

Para configurar el entorno de desarrollo se deben instalar y preparar las siguiente herramientas:

1. Android Studio

Lo primero que debeis hacer es bajar el IDE de Desarrollo, que en este caso es Android Studio. Lo instalais y preparais tal cual especifican en su página oficial: Instalar Android Studio

Y se deberá configurar Android Studio descargando los siguientes paquetes añadidos, que aparecen en la imagen, a la instalación del SDK por defecto que viene preinstalado con el mismo (Que suele ser la última versión, para este proyecto se está usando todo relativo a la Rev. 19, si se usa otra revisión se debe modificar los ficheros típicos de configuración como build.gradle y demás para hacerlo notar).

ConfiguracionAS

Después procedemos a hacer un git clone del repositorio en github: Qdemos en Github e importamos el proyecto en Android Studio.

El siguiente paso es modificar el fichero build.gradle que se aloja bajo el path: qdemos/build.gradle para cambiar los paths absolutos de dos de las librerias que usamos (mediante su empaquetado en .jar) por el path absoluto que las referencia en nuestra cuenta. Esto es debido a que no he podido lograr configurar el path relativo a librerias .jar en mi configuración de Android Studio, siempre me daba fallos gradle al intentar acceder a ellos mediante el path relativo. Una explicación más extensa podeis verla en la entrada del blog que escribí sobre ello: Problemas importando .jar en Android Studio mediante el path relativo

También debereis cambiar la clave de los Mapas y de los Servicios de Google Places, para poder usarlo con vuestra firma. Par crearos una cuenta y conseguir estas keys seguir el siguiente tutorial: Crear cuenta en Google Cloud Console para usar sus servicios. Deberemos habilitar tanto los Mapas como los servicios web de Google Places, en la consola de APIs de Google.

Para usar el SDK de Facebook (que ya viene incluido en el proyecto de Qdemos de Github) no será necesario, a priori, nada. La aplicación ya está habilitada por defecto a todos los públicos, aunque si quereis formar parte como desarrolladores oficiales de la misma en Facebook, decidmelo y os añado al equipo de la app en la consola de desarrolladores de Facebook. Esto es útil para restringir, en un futuro, el acceso a la app cuando se estén probando nuevas funcionalidades donde no se quiere que todo el mundo durante un tiempo limitado pueda acceder a la misma, y que sólo el personal autorizado sea capaz de poder usar su cuenta de Facebook en Qdemos!. Como digo, de momento el SandBox está deshabilitado, lo que abre su uso a todos los públicos con cuenta en Facebook.

2. Mongo DB

Para la base de datos del servidor se usará un esquema usando MongoDB, una base de datos no relacional. Para su instalación se procederá a seguir los pasos indicados en su página web: Instalación MongoDB

Para ejecutar MongoDB, o creamos un servicio en el arranque del sistema, o cada vez que queramos hacer correr la BBDD para hacer uso de ella tendremos que situarnos en un terminal en la carpeta bin/ dentro del directorio donde hemos descomprimido MongoDB y ejecutar mongod

3. Node.js

Una vez instalado el entorno de la base de datos, hará falta instalar todo el framework encargado de la lógica del servidor. Para ello simplemente seguimos los pasos dados en la página oficial de Node.js que será la insfraestructura del servidor que usemos para definir todo el servicio de APIs para los Web Services dse tipo REST de Qdemos. Instalación Node.js

Habrá que configurar el path del sistema (si estamos en windows) para añadir el directorio bin/ de la instalación de node.js para poder ejecutarlo desde la carpeta que queramos por consola.

Para hacer correr el servidor, simplemente debemos situarnos en la carpeta donde lo hallamos clonado y ejecutar el comando node qdemos

Librerias externas

Para este proyecto se han usado librerias externas (de código abierto) tanto para la parte del cliente Android como para el servidor (WebApp y BackEnd de APIs). A continuación se detallan cuales han sido, y su enlace para una posible reutilización en proyectos externos.

Android

  • DateTimePicker: Para la elección de fechas.
  • Facebook SDK: Permite Login y Recabar información con Facebook.
  • ADA Framework: ORM de SQL Lite, para el manejo de base de datos.
  • GSON: Utilidades para el manejo del formato JSON.
  • Crouton: Alternativa mejorada de los típicos Toasts.

Servidor (FrontEnd + BackEnd)

  • [Node.js] (http://www.nodejs.org/): Tecnología usada en el servidor como BackEnd.
  • Mongoose: Módulo para Node.js, ORM de MongoDB, para el manejo de la base de datos.
  • Express.js: Módulo para Node.js, para crear WebServices de tipo REST.
  • Node-gcm: Modulo de Node.js, para comunicar nuestro servidor node con Google Cloud Messaging de manera fácil.
  • Angular.js: Frameowrk para el Front-End de la App Web y crearla de de forma versatil, sencillo y con mucha potencia.
  • Bootstrap: Framework para el diseño de la Web, que define todos los detalles de la interfaz gráfica.
  • Textillate: Libreria JavaScript que permite definir textos dinámicos con animaciones muy chulas para representar la entrada o salida de un texto en la web.

About

App Android participante en el VIII Concurso Universitario de Software Libre, para la creación y gestión de quedadas entre amigos

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages