Saltar navegación

PROYECTO PAULA Y AITOR

Ajuste de pantalla

El ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:

Subido el 25 de mayo de 2025 por Pedro Jose M.

1 visualizaciones

Descargar la transcripción

Buenos días. Hoy día 15 de mayo a las 12 de la mañana estamos convocados a través de la Secretaría de Departamento para la Defensa del Módulo Profesional del Proyecto del Ciclo Formativo de Grado Superior de DAU. 00:00:01
Os informo de que esta defensa está siendo grabada y que esta grabación se utilizará en el entorno cerrado de Eucamadrid con fines educativos 00:00:15
y estará a disposición de los profesores evaluadores en el aula virtual para llevar a cabo la evaluación y la calificación de la defensa del proyecto. 00:00:23
En el aula virtual de proyectos habéis sido informados de los criterios y rubrica de calificación. 00:00:31
El orden de presentación del proyecto es el siguiente, 15 minutos máximo para defender el proyecto y 15 minutos máximo para preguntas por parte del tribunal. 00:00:36
Dicho esto, vuestro tiempo de exposición comienza a partir de este momento. Adelante y mucha suerte. Son las 11.54, tenéis 15 minutos hasta las 12.14. 00:00:44
Vale, bueno, pues muchas gracias. Empezamos. Hemos desarrollado esta aplicación para centralizar la información de actividades extraescolares, permitiendo a padres que necesiten inscribir según el curso de sus hijos y mejorar la comunicación y evitar errores. También facilita la gestión para coordinadores del centro. 00:00:56
el objetivo es automatizar y mejorar la gestión y la experiencia, reduciendo errores y sobrecarga 00:01:14
del proceso manual. Aporta claridad a las empresas para presentar sus ofertas y gestionar inscripciones 00:01:22
y se ofrece a los padres mayor seguridad sobre las plazas y facilitamos una herramienta LAMPA 00:01:27
para disminuir la carga de trabajo y que haya menos errores. Como objetivos, tenemos el objetivo 00:01:33
general, que es crear una aplicación para optimizar el proceso de asignación de plazas en actividades 00:01:38
extraescolares. Y luego, de forma más específica, tenemos gestionar fácilmente la inscripción 00:01:43
de los hijos y sus actividades, simplificar el alta y organización de las actividades, 00:01:47
ofrecer a la AMPA una herramienta eficaz de administración, incorporar un sistema de 00:01:52
listas de espera para cubrir vacantes y mejorar la interacción entre familias, empresas y 00:01:56
AMPA. Ya continúa mi compañero. 00:02:00
Vale, pues comienzo a compartir. 00:02:03
de valores, es decir, a la siguiente reunión, entregar algo tangible con lo que trabajar. 00:02:47
Y a partir de ahí, pues ya adaptarnos a las distintas partes que había creado cada uno 00:02:52
para continuar cada uno en nuestra parcela de asignación de tareas. 00:02:56
En cuanto a cómo nos hemos organizado, en primer lugar se definieron tres roles, 00:03:02
finalmente nos hemos quedado dos, pero bueno, los tres roles que se definieron en un primer momento 00:03:09
Fueron una persona que iba a definir la base de datos y la lógica de negocio, otra persona la presentación de la página web y experiencia de usuario, es decir, definir las interfaces que se iban a presentar en la página web, y una tercera persona que iba a hacer la validación de formularios y darle dinamismo y funcionalidad a JavaScript a la página web. 00:03:14
Entonces, la primera parte, la definición de bases de datos y lógica de negocio, la realicé yo. Paula se encargó de validación de formulario, dinamismo y funcionalidades JavaScript. Y luego, la presentación de páginas web, pues finalmente nos la tenemos que repartir entre Paula y yo. 00:03:35
Bueno, aquí son simplemente ejemplos para que se pueda ver las reuniones que llevamos en Teams. Las hacíamos cada dos semanas para que se vea un poco la funcionalidad que íbamos consiguiendo, alguna duda de código que pudiese. 00:03:50
Para el mantenimiento de código nos basamos en Github. Aquí lo que estamos viendo también es un ejemplo en el Visual Code Studio, que es el editor de texto que hemos utilizado, distintos movimientos como Homey o Merge que hacíamos tanto en Aula como en Github. 00:04:05
En cuanto a las tecnologías y herramientas, se ha utilizado un sistema con una arquitectura cliente-servidor. El cliente, el navegador y el servidor, bueno, el software hosting que hemos utilizado para el despliegue. 00:04:22
En el frontend hemos utilizado HTML, Bootstrap y JavaScript. Y en el backend hemos utilizado PHP, MariaDB como base de datos, que es un port de MySQL y como servidor Apache. 00:04:36
¿Y por qué hemos utilizado estas tecnologías en el back-end? Pues porque todo esto lo conseguimos de forma integrada en SAMP, que es una tecnología que hemos utilizado a lo largo del ciclo formativo. Entonces, estamos con mediante opción en ella y que estamos trabajando con forma de back-end. 00:04:49
En cuanto a la planificación, hicimos un diagrama de GAMP donde hemos definido las distintas tareas a realizar, que son planificación del proyecto. 00:05:07
Bueno, aquí tomando las ideas, pues con esto se hizo un poco la idea del anteproyecto, se presentó, no hubo un tercero computador y a partir de ahí ya empezamos más exhaustivamente el análisis de requisitos del sistema. 00:05:18
el desarrollo que ha durado hasta la última semana, donde ya he llevado a cabo el despliegue en un hosting externo. 00:05:31
Luego la prueba ya se empezó a diseñar a mitad de desarrollo, cuando ya vimos que había gotas, 00:05:39
ya se empezaron con esas pruebas, que las realizó en mayor parte Paula. 00:05:44
Y luego la documentación tendría como la documentación del proyecto que hemos presentado. 00:05:49
Aquí incluiríamos las pruebas de proyecto, como la entrega intermedia, como la entrega final, 00:05:53
que, bueno, hablamos de estos días juntos, bueno, la planificación de la 15 de mayo, que es el último día, ¿de acuerdo? 00:05:58
La situación inicia. Bueno, esto es un poco lo que ha comentado mi compañero Paula. 00:06:04
Lo explicamos. ¿Por qué? Porque había una falta de centralización de la información a la hora de realizar inscripciones. 00:06:08
Entonces, ¿esto qué puede suponer? En muchos fallos, una carga administrativa excesiva, 00:06:14
así como dificultad para gestionar listas de esperas, modificaciones o incluso las propias asignaciones de plazas. 00:06:19
¿Qué hemos decidido? Lo que ha comentado con los objetivos. Centralizar toda la gestión de actividades en una plataforma, diseñar una interfaz sencilla e intuitiva para los usuarios. Esto lo puede utilizar junto al administrador, como el padre o madre que va a inscribir a su hijo en las actividades. 00:06:26
Y luego, pues, automatizar el proceso crítico con la gestión de plazas o la gestión de listas de espera. Y ello, pues, con un enfoque de los objetivos de desarrollo y manteniendo un enfoque muy claro escalable para que se encuentren pequeños campos para otro tipo de actividades. 00:06:43
En cuanto a cómo enfocamos el diseño del proyecto para definir la funcionalidad, como 00:07:01
pasamos en casos de uso, es una técnica que se utiliza para obtener las funcionalidades 00:07:11
desde el punto de vista del usuario. Desde aquí se definieron tres usuarios. El padre 00:07:17
o madre no registrado, que puede hacerlo más sencillo, que es el registrante, los 00:07:22
noticias, actividades, empresas colaboradoras. Luego, un padrón registrado que heredaría 00:07:26
todo aquello que pueda hacer el padrón registrado y, aparte de ello, ver datos personales, modificarlos, 00:07:31
ver los registrados, verlos de alta, modificarlos, eliminarlos, darles su contraseña o escribir 00:07:37
en actividades a sus hijos. Y, por último, un administrador que puede hacer todas aquellas 00:07:43
funciones que se espera de un administrador de una aplicación. En este caso sería la 00:07:49
que es tener las inscripciones, las actividades, las empresas o las noticias. 00:07:54
En cuanto a la estructura de la base de datos, pues se ha representado con un diagrama de entidad-relación 00:08:00
y simplemente comentar que se pueden ver las distintas tablas que tiene nuestra base de datos y sus operaciones. 00:08:05
Y que como es esencial, tenemos el usuario registrado. 00:08:11
Puede funcionar tanto como una U, que es el usuario de un padre o madre, un usuario digamos común, 00:08:15
o como una A que es un administrador. También está pensado para que en el futuro, bueno, pues se pudiera actuar también como empresa, ¿no? 00:08:21
Para poner, pues, las actividades de precios, etcétera. Y ya por último de mi parte, decir que el despliegue se ha hecho en X10 Hosting 00:08:30
debido a la compatibilidad con PHP y MariaDB o MySQL, ¿vale? Y que si se quiere ver nuestra página web, bueno, pues en esta URL de aquí se podría realizar. 00:08:38
Y ya, bueno, ya Paula va a finalizar la presentación con todas las pruebas y mostrarnos un poquito la intencionalidad. 00:08:49
Estamos viendo que nos está dando un error en la fecha de nacimiento porque hemos concretado que la fecha de registro para los padres y padres de los suscriptores no puede ser inferior a 15 años. En este caso está intentando que la fecha sea de 2024 y nos sale el error justo debajo del campo. Esto está hecho con Javascript. 00:09:21
Luego, a continuación, hemos hecho distintos tipos de pruebas. En esto se ve la prueba de límites, en la que intentamos meter menores plazas si no nos da y luego como que sí. Prueba de manejos vacíos, en las que vemos que no podemos meter datos que estén como obligatorios y dejarlos vacíos, nos enviaría el formulario. 00:09:40
Hemos hecho prueba de transición de datos, que aquí se ve cómo se crea un periodo de actividad. Hemos hecho prueba de entradas incorrectas, intentando meter en el campo de nombre números de generación de PDF desde el periodo de script. 00:10:00
Y luego pruebas unitarias de evaluación del backend. Como sabemos, aunque se hagan las pruebas de validación con Javascript, el usuario siempre puede desactivarlo. Entonces, es obligatorio también que estén hechas en el backend. 00:10:17
Entonces, aquí, por ejemplo, vemos que están introducidos de forma errónea el zip, el teléfono y el correo electrónico y que además de que aparecen ahí el mensaje con esos errores, nosotros lo tenemos guardado en un registro de logs. 00:10:31
Luego la interfaz se vería más o menos con esta presentación 00:10:43
Esto sería la pantalla de inicio y la descripción de actividades 00:10:47
El laborador así de contacto 00:10:51
Y luego esto se vería si entramos como usuario, que es padre, madre o tutor 00:10:54
Se ve el menú desplegable en este punto para el usuario 00:10:58
Podemos acceder a los datos personales, podemos cambiarlos, o sea, modificarlos 00:11:03
Podemos entrar a los hijos registrados en los que pudimos añadir hijos o los que ya tenemos añadidos, modificarlos o eliminarlos 00:11:09
Acceder a las actividades inscritas o inscribir a nuestros hijos siempre que haya un periodo de inscripción completo 00:11:17
Y esto sería lo que se ve desde el acceso como administrador 00:11:24
Tenemos ese menú desplegable y aparecería una gestión de usuarios en la que vamos a ver los usuarios, lo que decimos padre, madre o tutor que están inscritos 00:11:29
Y lo único que podríamos hacer es eliminarlos porque hay modificaciones desde el usuario y lo que sí que podemos es dar de alta nuevos administradores. Luego tenemos la gestión de inscripciones en la que habría periodos de inscripción. Una vez esté finalizado, podemos gestionar un listado en el que se pueden ver las actividades que tenemos, los hijos que están inscritos y si hubiera algún problema en esta espera. 00:11:39
Luego tenemos la gestión de actividades en la que podemos crear una nueva actividad o modificar las que ya están creadas. 00:12:07
Igual con empresas, crear una nueva empresa o modificar la que está creada. 00:12:13
Y lo mismo con las noticias, esto es como un tablón de noticias donde poner para que los padres vean las actualizaciones. 00:12:17
Y luego, tanto el usuario como el administrador pueden cambiarla con la línea. 00:12:26
Luego, el contexto laboral que tenemos, pues al final es un contexto laboral muy amplio porque podemos hacer pequeñas variaciones y que la aplicación sirva para diferentes ámbitos que estén relacionados un poco con la gestión de actividades. 00:12:30
Podemos, por ejemplo, cambiar que en lugar de que aparezca que estén las actividades por cursos, se puedan gestionar actividades o que si las personas sean mayores de edad no haya una opción de agregar a sus hijos y se puedan gestionar ellos mismos esas actividades. 00:12:46
Las conclusiones. Bueno, pues nos hemos dado cuenta de la importancia de tener un diseño bien estructurado para una gestión gráfica. La importancia del uso de tecnologías de software, en este caso, ha sido mejor para nosotros porque no ha tenido un costo adicional. 00:13:01
Y como la selección de los sistemas es muy importante, ya que nosotros tuvimos un problema que se nos actualizó Windows y tuvimos problemas con MySQL, de Instagram y tal. 00:13:14
Luego, por ejemplo, el uso de GitHub al trabajar en equipo también nos ha parecido súper importante. 00:13:23
Además, hemos tenido problemas al no haber estado muchas veces trabajando en la última versión y luego había problemas a la hora de hacer Pull-O-Mesh y luego nos hemos tenido también que reorganizar el equipo. 00:13:31
Como obvia, tenemos que es una aplicación muy escalable que permite adaptarse bien o a otros centros educativos o se podría, por ejemplo, también poner un cúdulo de pago para facilitar la inscripción aún más o, por ejemplo, poner también un chat para mejorar la comunicación y no depender tanto de llamadas o correos electrónicos. Y esto sería todo. 00:13:45
Perfecto. Bueno, esta presentación no la habéis enviado, si la podéis enviar para que la tengamos también para la evaluación sería perfecto. 00:14:09
Y os veo, vamos a pasar a las preguntas. Bueno, con las preguntas no tenéis que responder de manera muy larga, serían un minutito cada una y bueno, querría un poquito eso que me respondierais si simplemente son para constatar autoría, etc. 00:14:21
Entonces, para Hitor, ¿cómo resolvisteis técnicamente el despliegue del servidor en X10 Hosting que habéis comentado? ¿Tenéis que adaptar algo de código, configuración respecto al entorno local de XAMPP que se suele utilizar para trabajar primero? 00:14:42
Sí, a ver, tuvimos 00:15:02
fue muy sencillo, ¿vale? porque simplemente 00:15:05
es una carpeta 00:15:07
donde tú tienes que meter todo tu proyecto 00:15:09
y luego es verdad que haciendo 00:15:10
Pablo y yo las pruebas no nos funcionaba 00:15:13
correctamente, y ya nos dimos cuenta 00:15:14
de por qué, era porque 00:15:17
cuando la ruta relativa 00:15:18
de que cuando tiene que ir a otra página web 00:15:21
que está enlazada 00:15:23
nosotros creemos que es porque SAM 00:15:23
al final nosotros lo instalamos en un entorno 00:15:26
Windows, entonces la ruta relativa se trata de un poco 00:15:28
distinto en Windows y Linux. Y yo creo que este hosting estaba basado en Linux. Entonces todas las 00:15:31
redirecciones las tuvimos que cambiar. Pues buscamos cómo había que ponerlo y nada, un trabajo un poco 00:15:35
algo porque bueno tuvimos que ir buscando todos los códigos y cambiar, ya te digo, todo lo que te digo yo. 00:15:41
O sea, KHP te dicen, lo primero que se suele declarar son los require, que son las clases que vas a utilizar, 00:15:48
con las que te vas a arreglar. Entonces, ahí tienes que 00:15:55
crear la ruta donde está y bueno, tuvimos que cambiar todas esas rutas. 00:15:58
Vale, perfecto. Para Paula, 00:16:01
en el proyecto se menciona que habéis utilizado 00:16:04
validaciones tanto en el cliente como en el 00:16:07
servidor. ¿Podrías brevemente 00:16:10
explicar cómo habéis implementado 00:16:13
en Javascript esto y qué errores controla exactamente así 00:16:16
de manera breve? Vale, pues 00:16:19
para Javascript lo que nos hemos querido ha sido no juntar 00:16:22
código entonces hemos puesto un script con el enlace para la pantalla de javascript y sobre 00:16:25
todo lo hemos hecho con expresiones regulares para decir pues el dni tiene que tener nueve 00:16:32
números y una el nombre pues eso no puede tener números sobre todo con expresiones regulares y 00:16:40
Y ya te digo, que lo hemos puesto como aparte para que no se mezcle con el código. 00:16:49
Vale. Para Hitor, ¿puedes explicar cómo habéis estructurado la base de datos y cuál fue el criterio para separar, por ejemplo, entidades que tenéis como pedidos históricos, actividades? 00:16:52
Sí, a ver, lo primero, lo central fue, ya te digo, usuario registrado, ¿vale? Entonces, a partir de ahí, del usuario registrado, ya partimos al enlace con el resto de tablas. 00:17:04
El usuario registrado hay que entenderlo como que puede actuar tanto como usuario que he dicho, padre o madre, como administrador. Entonces, a partir de ahí, dependiendo cuál sea tu rol, vas a poder tener esto en una tabla u otra. 00:17:19
Quizás si esto creciese, pues estaría bien crear un usuario registrado del que le dasen ya, digamos, un usuario más específico. 00:17:34
Pero bueno, para primeras, pues pensamos que podría estar todo incluido con un atributo en un, que lo que te dice es que, bueno, sabes que el enum se utiliza para decirle, solo pueden ser distintos tipos. 00:17:41
Vale, o tres o cuatro, o los que sean. Entonces, así lo enlazamos, sí, un poquillo como lo distinguió. 00:17:52
Vale, perfecto. Y bueno, por último, para ambos, habéis tenido un problema dentro del proyecto, que uno de los miembros lo dejó, bueno, son cosas que pueden pasar en la realidad en cualquier proyecto, no solo aquí, sino incluso en trabajos reales. 00:17:59
Y bueno, ¿cómo os organizasteis para redistribuir este trabajo y qué aprendisteis de esta experiencia a nivel de colaboración técnica? 00:18:17
Bueno, yo diría que es que fue 00:18:24
como de repente un poco progresivo 00:18:27
vimos que no recibíamos 00:18:29
respuestas de Adrián, entonces 00:18:31
fue como un poco, oye, pues voy haciendo 00:18:33
esto, pues tú ve haciendo esto 00:18:35
un poco así, hasta 00:18:37
que hicimos la segunda entrega 00:18:39
ya que ya prácticamente estaba todo hecho, pero yo creo 00:18:41
que fue como ir bien 00:18:43
íbamos necesitando cada uno 00:18:45
un poco decir, venga, pues voy a hacer esto 00:18:47
tú vete haciendo esto, fue un poco así 00:18:49
al final, la verdad, porque ya te digo 00:18:51
como que no fue el que nos dijo, oye mira 00:18:53
no voy a poder, que entonces nos hubiéramos 00:18:55
vuelto a reunir y decir, íbamos viendo 00:18:57
que no teníamos 00:18:59
respuesta de Adrián y entonces fue como 00:19:01
voy necesitando esto, pues voy haciendo esto 00:19:03
¿sabes? Claro, yo 00:19:05
creo que nos ayudó bastante 00:19:07
para mí, opinión personal, el lenguaje 00:19:08
PHP, porque el lenguaje PHP 00:19:11
como te reúnes en un archivo lógica de negocio 00:19:13
que eso me encargaba yo un poco más, con una 00:19:15
presentación, pues es verdad que esa presentación 00:19:17
no tenía el CSS 00:19:19
linkado, pero es verdad que sí mostraba 00:19:20
algo ya que tú en pantalla 00:19:23
podías ir viendo, ¿vale? Era una 00:19:25
presentación muy rudimentaria 00:19:27
y quedaba muy mal, ¿no? Pero ya teníamos, digamos, 00:19:29
ya fue, venga, ya tenemos esto, 00:19:31
vamos a hacer la presentación, vamos a 00:19:33
regalar el sistema HTML, pero 00:19:35
al estar con el mismo código nos ayudó bastante. 00:19:37
Que si hubiera sido más 00:19:39
separado, es verdad que a lo mejor no se hubiera 00:19:41
dado. Sí, como que lo teníamos 00:19:43
y había que ir dándole forma. 00:19:46
Vale, perfecto, pues nada, 00:19:47
con esto termina la presentación 00:19:49
voy a cortar la grabación 00:19:51
Etiquetas:
Desarrollo de Aplicaciones Web
Autor/es:
PEDRO JOSÉ MARTÍNEZ
Subido por:
Pedro Jose M.
Licencia:
Todos los derechos reservados
Visualizaciones:
1
Fecha:
25 de mayo de 2025 - 12:11
Visibilidad:
Clave
Centro:
IES CIFP a Distancia Ignacio Ellacuría
Duración:
19′ 55″
Relación de aspecto:
1.49:1
Resolución:
1074x720 píxeles
Tamaño:
75.67 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid