AsesoriApp

En esta sección se atenderán las dudas relacionadas con sistemas de gestión de la calidad, procedimientos, buenas prácticas, normas y todo lo relacionado con aseguramiento de la calidad

Moderator: julianmartinez16

User avatar
alejoobh
Posts: 21
Joined: Tue Jan 19, 2016 6:26 am

AsesoriApp

Post by alejoobh » Thu Feb 04, 2016 11:22 pm

Integrantes:

Alejandro Bermúdez Holguín
Daniel Yepes Restrepo

Link de trello para el backlog, y los sprint: https://trello.com/b/3a9nG7Ag/proyecto- ... asesoriapp

Link checklist https://docs.google.com/spreadsheets/d/ ... sp=sharing

Link repositorio: https://bitbucket.org/alejobh/asesoriapp

Diagrama de clases

Image

Por favor revisar cada tarjeta, para ver comentarios y checklist.
Last edited by alejoobh on Tue May 31, 2016 7:58 am, edited 3 times in total.

User avatar
alejoobh
Posts: 21
Joined: Tue Jan 19, 2016 6:26 am

Re: AsesoriApp

Post by alejoobh » Mon Feb 08, 2016 9:56 pm

Sprint 4 Feb -- 11 Feb

Se intento hacer un query a la DB sobre el inicio de sesión, y nos dimos cuenta de que la contraseña estaba doblemente cifrada, primero por un cifrado md5 y luego por un bcrypt. En la base de datos la contraseña almacenada fue cifrada en el bcrypt con unos caracteres llamados SALT, generados aleatoriamente por un Stored procedure, por lo cual mandar la contraseña cifrada a compararse con la de la DB era totalmente imposible, al no conocer la SALT utilizada en la DB, no podemos cifrar la contraseña enviada de la misma manera que lo hace el moodle.
Se pensaba la app para consumir una sesión de moodle, pero externamente nos encontramos a que era imposible consumir una sesión externa sin utilizar el API de moodle.
Así que comenzamos a utilizar el API de moodle, con lo que nos dimos cuenta de que para cualquier cosa que vayamos a hacer necesitamos consumir el API.
Esto nos lleva a la decisión de no consumir el moodle para la aplicación.
Y hacer una reevaluación de cómo se llevará a cabo el proceso.

Se reevaluó el proyecto:

Hasta el momento las siguientes decisiones serán tomadas:

El backend se realizará en ASP.NET

La base de datos será en la plataforma SQL Server.

La comunicación entre el front end y el back end será mediante JSON.

El front end todavía está en discusión, como opciones se tienen: Xamarin, o cualquier framework de desarrollo móvil híbrido(Phonegap, Ionic, etc) mediante HTML5, js y css.

Para la fecha final del sprint se entregará el diseño e implementación de la base de datos, con un primer test de login como se hizo con el moodle, mediante el backend temporal de php.

Para el segundo sprint se realizará la implementación del backend para darle conectividad a la app, y la implementación de las vistas de logueo y registro funcionando.

User avatar
alejoobh
Posts: 21
Joined: Tue Jan 19, 2016 6:26 am

Re: AsesoriApp

Post by alejoobh » Thu Feb 11, 2016 7:51 am

Sprint Review

Que hicimos?

Hicimos el BurnDown Chart en el cual evidenciamos que las actividades se terminaron antes del tiempo estimado, se modelo e implemento la base de datos en SQL Server.

BurnDown Chart
Image

Diagrama ER
Image

Valor login(deprectated)
Image

Que vamos a hacer?

Planeación del segundo sprint, el cual incluye el login.

Que incovenientes tuvimos?

EL manejo de Llaves primarias/Unique identifiers en el entorno de SQL Server

User avatar
xacarana
Site Admin
Posts: 1148
Joined: Fri Jan 15, 2016 6:13 pm

Re: AsesoriApp

Post by xacarana » Sat Feb 13, 2016 6:21 pm

Muy bien, este es un buen ejemplo de las evidencias que debemos publicar cada semana, se debe responder al seguimiento por las preguntas del sprint los martes y jueves. Este seria el referente para los demás grupos
Andrés Bedoya Tobón
Profesor
"I only smile in the dark, I only smile when it's complicated" Raybiez

User avatar
alejoobh
Posts: 21
Joined: Tue Jan 19, 2016 6:26 am

Re: AsesoriApp

Post by alejoobh » Thu Feb 18, 2016 2:28 pm

Sprint Review

Qué se hizo?

Se creó toda la estructura de back-end del servidor, y se añadieron un par de controladores, se mapeo la base de datos también.
Se crearon las páginas de login y registro en vista móvil y se rectificaron con PhoneGap.
Se creó el script js de control de login por medio de AJAX enviando el json de la información y recibiendo un objeto de respuesta del servidor.

Dificultades
Poner los parámetros correctos para enviar el AJAX y manejar correctamente la respuesta del servidor fue muy estrellado, nos demoramos mucho en resolver los parámetros correctos, inclusive se crearon varios controladores, unos con API otros con Odata, para realizar un seguimiento del comportamiento de la petición.

Burndown Chart
Image

Gif valor
Image

Qué se va a hacer?

La planeación del tercer sprint, el cual tendrá las pantallas de completación del perfil, tanto para docente como para estudiante, se procederá a generar el procedimiento almacenado para generar el código de docente y ANTES de completar el perfil, el docente deberá ingresar el código generado para poder ser docente.
Se reducirá la cantidad de campos necesarios para registro, para esto, los demás campos faltantes se llenarán en otra pantalla de formulario una vez el registro haya sido correcto.
Se entregará el correcto PUT a la DB del registro, tanto docente como estudiante.

User avatar
alejoobh
Posts: 21
Joined: Tue Jan 19, 2016 6:26 am

Re: AsesoriApp

Post by alejoobh » Mon Feb 29, 2016 11:55 pm

Sprint Review

Qué se hizo?

Controlador Registro
-inserta datos en 3 tablas extra, con los demás campos vacíos
-una de ellas es user_docentes - > si es docente y llena id y rol y crea el id_teacher (incremental)
-además se creó el algoritmo de generación de código DE DOCEnte con validaciones.
-la otra es users_students -> si es estudiante llena id, rol y crea el id_student (incremental)
-la ultima es users_complete_data -> inserta para ambos el id_user para un control y deja los demás campos vacios
-Se controlaron todos los tipos de respuesta según las peticiones

register.html
se creó la plantilla
se modificaron los datos a llenar

register.js
se creó el .js que controla el ajax para la inserción y respuesta del servidor

pendiente: para dentro de algunos sprint: la foto de perfil (se permitió null en la profile_picture)
Llenar las tablas de ciudad y pais

Se modificaron dos tablas de la base de datos

Adjunto nuevo diagrama

Image

Burndown chart

Image

Dificultades

Se tuvieron muchas dificultades con el objeto enviado por ajax y el controlador, costó muchas horas encontrar el error.

Qué se va a hacer?

Se procede a planear el cuarto sprint

User avatar
alejoobh
Posts: 21
Joined: Tue Jan 19, 2016 6:26 am

Re: AsesoriApp

Post by alejoobh » Tue Mar 01, 2016 7:12 am

Planeación cuarto sprint, 27 febrero - 4 marzo

Qué se va a hacer?

Controlador completar perfil
-insertar
-excepciones
-respuestas

complete_profile.html
formulario de datos completos

complete_data.js
AJAX de comunicación con el servidor para la inserción del usuario específico


Sprint review

Qué se hizo?

Controlador Completar información de cuenta

complete_profile.html
se creó la plantilla
se modificaron los datos a llenar

pendiente: Ya empezamos a necesitar la sesión en la aplicación (EN INVESTIGACIÓN)

Burndown Chart

Image

Dificultades

Ninguna en lo que se planeó realizar.

Qué se va a hacer

complete_data.js
Empezar a manejar sesión.
Last edited by alejoobh on Tue Mar 08, 2016 6:29 am, edited 1 time in total.

User avatar
alejoobh
Posts: 21
Joined: Tue Jan 19, 2016 6:26 am

Re: AsesoriApp

Post by alejoobh » Tue Mar 01, 2016 7:17 am

Planeación Sprint 5 --> 4 Marzo - 11 marzo

Investigación de cómo mantener la sesión activa para móviles (Cookies son posibles?)

Investigación Landing page para toda la aplicación.

Primeros prototipos de ambas funcionalidades.

Una vez comprendido y funcionando, se pasa a realizar la implementación de los prototipos en la app.

User avatar
alejoobh
Posts: 21
Joined: Tue Jan 19, 2016 6:26 am

Re: AsesoriApp

Post by alejoobh » Thu Apr 07, 2016 2:44 am

Sprint 5 --> 4 Marzo - 18 marzo

Qué se hizo?

Como se planeó, pero se alargó el sprint, se realizó prototipo de master page, y se realizó un script de base de datos sqlite para el almacenamiento de la sesión

Master page

Vista web

Image

Vista móvil sin desplegar menú

Image

Vista móvil menú desplegado

Image


BurnDown chart

Image

Dificultades

Por tiempo se tuvo que alargar el sprint, se investigó mucho sobre la sesión y se intentó utilizar sqlite para mantener la sesión,
Nos dimos cuenta que sqlite era más lento y complicado, tuvimos muchos problemas con la creación y disponibilidad de la tabla de la sesión, muchas veces se re-creaba.

Se empezó a investigar sobre el localStorage de html5 y su utilidad para cordova y apps embebidas, lo cual cumplió las expectativas.
Se empezará a desarrollar una solución para la sesión basada en localStorage

User avatar
alejoobh
Posts: 21
Joined: Tue Jan 19, 2016 6:26 am

Re: AsesoriApp

Post by alejoobh » Thu Apr 07, 2016 2:59 am

Sprint 6 --> 28 Marzo - 5 abril

Qué se hizo?

Se finalizaron y agregaron varios controladores en el backend:

-CompleteUserData para la completación del perfil de los usuarios
-UserFlags para el control del inicio de sesión, para saber a qué pantalla se debe llevar a un usuario, cuando loguea o se registra.
Indispensable para docentes que tienen que verificar y para estudiante-docente que tiene que completar su perfil.
-TeacherCode, utilizado para la verificación del código del docente.

Además se realizaron cambios a los controladores que ya se habían creado para mejorar las respuestas.
Modelos agregados para las respuestas del servidor.

En el lado del cliente se crearon nuevos html junto con sus .js para el control.

complete_user_data.html: pantalla donde los usuarios completan su perfil
teacher_code_verification.html: Pantalla donde los docentes verifican el código
Se implementó el masterpage.

También se empezó a consumir el API MailGun, para enviar correos a los docentes con su respectivo código de verificación en el momento del registro, funcionando correctamente.

Ya se tiene un control entre pantallas sin problema, con la sesión solucionada, ya cada usuario debe estar en la pantalla que debería.

Burndown chart

Image

Dificultades

Ninguna en específico, las pocas dificultades que hubieron, se solucionaron sin mucho esfuerzo.

Post Reply