1 00:00:00,750 --> 00:00:12,630 Buenos días. Hoy, día 19 de mayo, a las 12 y media, estamos convocados a través de Jefatura de Departamento para la defensa del módulo profesional del proyecto del ciclo de formativo de grado superior de edad. 2 00:00:13,169 --> 00:00:29,589 Informo que esta defensa está siendo grabada y que esta grabación se usará en el entorno cerrado de Duca Madrid, con fines educativos, 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. 3 00:00:29,589 --> 00:00:46,570 En el aula virtual de proyectos habéis sido informados de los criterios y rúbrica de calificación. El orden de la presentación del proyecto es el siguiente, 15 minutos máximo para defender el proyecto, 15 minutos máximo para las preguntas por parte del tribunal. Dicho esto, tu tiempo de exposición comienza a partir de este momento. 4 00:00:46,570 --> 00:01:29,379 Adelante, con mucha suerte. 5 00:01:29,680 --> 00:01:31,900 Mejor, mejor. Intento hacerlo así. 6 00:01:32,439 --> 00:01:32,719 ¿Mejor? 7 00:01:32,939 --> 00:01:33,840 Sí, sí, sí. 8 00:01:33,959 --> 00:01:35,439 A lo mejor puede ser... 9 00:01:35,439 --> 00:01:36,560 Sí, seguramente... 10 00:01:36,560 --> 00:01:36,959 ¿Empieza de nuevo? 11 00:01:37,560 --> 00:01:39,700 Bueno, toma el comienzo como ahora, ¿vale? 12 00:01:42,980 --> 00:01:43,859 ¿Empieza de nuevo, verdad? 13 00:01:44,120 --> 00:01:44,359 Sí. 14 00:01:45,099 --> 00:01:45,280 Vale. 15 00:01:47,239 --> 00:01:51,319 Soy Adrián Gómez y para mi proyecto final de grado he realizado una escuela de fútbol. 16 00:01:52,200 --> 00:01:57,260 Los objetivos que me han llevado a realizar este proyecto es el tema de digitalizar procesos administrativos 17 00:01:57,260 --> 00:02:00,359 que normalmente se hacen a través de papeleos o incluso grupos de WhatsApp, 18 00:02:00,879 --> 00:02:04,680 crear un entorno sencillo para los padres y para los jugadores que puedan ver sus convocatorias, 19 00:02:04,819 --> 00:02:09,240 que puedan ver sus calendarios, también sus estadísticas, incluso para los padres, 20 00:02:09,500 --> 00:02:15,719 un control de cuotas, lesiones o posibles sanciones que puedan tener los hijos y en este caso los jugadores. 21 00:02:16,400 --> 00:02:22,280 También es importante la gestión de partidos y calendarios, que se verán los partidos que se han jugado con el resultado 22 00:02:22,280 --> 00:02:25,199 y los partidos pendientes que se van a jugar y donde se van a jugar. 23 00:02:25,199 --> 00:02:31,340 Este proyecto tiene en concreto un rol específico que es el rol de entrenador 24 00:02:31,340 --> 00:02:35,180 que tiene un acceso a páginas privadas que solo puede manejar el entrenador 25 00:02:35,180 --> 00:02:39,400 El rol de jugador en este caso es público, que accede a los datos generales 26 00:02:39,400 --> 00:02:45,080 que puede ser como las convocatorias, las estadísticas o incluso las lesiones o sanciones 27 00:02:45,080 --> 00:02:54,340 En la funcionalidad del padre, dentro de la página web, el padre podrá ver los partidos pendientes 28 00:02:54,340 --> 00:02:59,259 que tiene su hijo en el calendario, podrá ver los pagos que tiene pendientes a través 29 00:02:59,259 --> 00:03:04,740 de una pasarela de pago que ahora mismo está en simulación. Se puede ver lo que lleva 30 00:03:04,740 --> 00:03:09,879 pagado y lo que le queda por pagar. Y también tiene un registro sencillo de nuevos jugadores 31 00:03:09,879 --> 00:03:15,539 para futuros padres que quieran inscribir a sus hijos y también podrán ver las convocatorias 32 00:03:15,539 --> 00:03:21,860 y tanto si es titular o suplente. Las funciones del jugador son parecidas ya que en la página 33 00:03:21,860 --> 00:03:27,599 pueden acceder a las convocatorias para ver si son convocados titulares o suplentes, podrán ver sus 34 00:03:27,599 --> 00:03:34,520 resultados en los partidos y los próximos partidos que tienen, tanto como las estadísticas de los 35 00:03:34,520 --> 00:03:43,539 jugadores y los jugadores que hay en cada equipo. En la función del entrenador, como he dicho al 36 00:03:43,539 --> 00:03:51,879 principio, esto sí que tiene páginas privadas que se necesita loguear sí o sí, iniciar sesión con un 37 00:03:51,879 --> 00:03:59,039 rol de entrenador. Dentro de cada rol de entrenador me gestiona una serie de páginas como asignar 38 00:03:59,039 --> 00:04:05,240 jugadores a su equipo, realizar convocatorias y guardarlas, incluso marcar si ese jugador 39 00:04:05,240 --> 00:04:09,639 va a ser titular o suplente y también poder registrar el estado del jugador acabado cada 40 00:04:09,639 --> 00:04:15,080 partido, si está lesionado o sancionado, el tipo de sanción y el tipo de lesión y 41 00:04:15,080 --> 00:04:22,120 la duración de la misma. Para ver un poco de lo que hablo, por ejemplo, en el tema de 42 00:04:22,120 --> 00:04:28,860 los padres, los pagos, si ponemos el nombre de un jugador podemos ver lo que se ha pagado 43 00:04:28,860 --> 00:04:36,560 con la cuenta y la fecha y lo que queda pendiente por pagar. En este caso que serían 263 y 44 00:04:36,560 --> 00:04:43,279 esto es lo que lleva pagado de la cuota de 600 euros. También podrán ver por los calendarios 45 00:04:43,279 --> 00:04:49,120 que tienen pendientes y los que se han jugado con ya el resultado y los que quedan pendientes 46 00:04:49,120 --> 00:04:57,120 por jugar, pues podrán ver el lugar y el equipo contra el que juega, en este caso, el rival. 47 00:04:57,860 --> 00:05:04,480 En los equipos, como hemos visto, como he explicado, pinchando en cada equipo, se ven 48 00:05:04,480 --> 00:05:10,040 los jugadores que están inscritos en este equipo. En este caso, en el rol de entrenador, 49 00:05:10,040 --> 00:05:23,759 Se asignan jugadores para cada equipo. Y los jugadores, si quieren ver sus estadísticas personales, pinchando en su nombre y apellido, podrán ver los colores que llevan, las asistencias, tarjetas amarillas o rojas, incluso también las faltas. 50 00:05:23,759 --> 00:05:27,259 para el tema de convocatorios 51 00:05:27,259 --> 00:05:28,339 por ejemplo del entrenador 52 00:05:28,339 --> 00:05:30,819 como tenemos que iniciar sesión que en este caso 53 00:05:30,819 --> 00:05:31,360 crea un 54 00:05:31,360 --> 00:05:34,920 usuario en concreto 55 00:05:34,920 --> 00:05:36,699 pues para asignar jugadores 56 00:05:36,699 --> 00:05:38,699 por ejemplo pues David 57 00:05:38,699 --> 00:05:40,980 que en este caso irá a 58 00:05:40,980 --> 00:05:42,680 infantil pues 59 00:05:42,680 --> 00:05:45,180 y luego 60 00:05:45,180 --> 00:05:46,439 después en el 61 00:05:46,439 --> 00:05:48,860 equipo de infantil 62 00:05:48,860 --> 00:05:51,199 se podrá 63 00:05:51,199 --> 00:05:52,680 ver a 64 00:05:52,680 --> 00:05:53,519 Diego López 65 00:05:53,519 --> 00:06:23,500 Efectivamente. Y para, por ejemplo, el estado del jugador, si un jugador se lesiona, en este caso del KDTA de Julián Ramos, si ponemos lesión adductor y ponemos la duración, en este caso, lesión 1 de mayo hasta el 31 y registramos el estado, después los padres pueden ver cómo está su hijo, en este caso, de la lesión que tiene. 66 00:06:23,519 --> 00:06:27,519 tiene, que en este caso tiene aductor, tiene un mes y como no tiene próximos partidos 67 00:06:27,519 --> 00:06:32,920 en el calendario para jugar, pues no tiene partidos. También en este caso, para realizar 68 00:06:32,920 --> 00:06:40,540 la convocatoria del entrenador, si fuéramos a Adrián Nieto, en este caso en cadete, podemos 69 00:06:40,540 --> 00:06:47,160 marcar si es convocado o si es titular. Si guardamos la convocatoria y vamos a la convocatoria 70 00:06:47,160 --> 00:06:52,519 del jugador en cadete, Adrián Nieto, vemos que está convocado como titular porque hemos 71 00:06:52,519 --> 00:06:54,579 convocado a Adrián como titular 72 00:06:54,579 --> 00:06:56,360 en el caso de que quisiéramos 73 00:06:56,360 --> 00:06:58,980 convocar por ejemplo 74 00:06:58,980 --> 00:07:01,040 a Adrián Redondo simplemente como 75 00:07:01,040 --> 00:07:03,000 suplente, marcando como 76 00:07:03,000 --> 00:07:03,519 convocado 77 00:07:03,519 --> 00:07:09,939 está convocado como suplente 78 00:07:09,939 --> 00:07:12,079 entonces esto es lo que permite a los padres 79 00:07:12,079 --> 00:07:14,139 y a los jugadores ver si van a 80 00:07:14,139 --> 00:07:16,180 estar en el once inicial o como 81 00:07:16,180 --> 00:07:17,600 suplente o incluso no convocado 82 00:07:17,600 --> 00:07:20,259 ¿vale? Luego en el 83 00:07:20,259 --> 00:07:21,660 menú que he creado para 84 00:07:21,660 --> 00:07:23,319 esta página 85 00:07:23,319 --> 00:07:32,339 Tiene un poco todo lo que se necesita para que los padres puedan manejarlo directamente desde el menú. 86 00:07:34,040 --> 00:07:43,040 Incluso para registrar jugadores y en login es necesario tener una cuenta si eres entrenador, si no eres entrenador no es necesario. 87 00:07:43,680 --> 00:07:48,560 Y para crear una cuenta necesitas rellenar los datos. 88 00:07:48,560 --> 00:07:56,420 y en el caso de que sea entrenador, el entrenador tiene un número específico de entrenador que se le da cuando se le contrata 89 00:07:56,420 --> 00:08:02,500 y para registrar necesita poner el número de entrenador, si no, no puede tener un usuario de entrenador. 90 00:08:05,439 --> 00:08:12,600 Igual para el registro de jugadores, se necesita rellenar los datos, incluso en este caso, como son menores, 91 00:08:12,600 --> 00:08:19,019 pues el padre tendrá que meter su teléfono, su email y el número de cuenta para cargar los pagos. 92 00:08:22,029 --> 00:08:29,930 La tecnología que he usado en este caso, la mayoría es PHP, con un poco de CSS, Javascript y Bustra, 93 00:08:30,009 --> 00:08:34,950 pues para la parte funcional, la parte, digamos, bonita de la página web. 94 00:08:35,370 --> 00:08:40,809 Y también he usado MySQL y PHP MyAdmin para crear tablas en las bases de datos 95 00:08:40,809 --> 00:08:50,529 Así como es un software libre y que funciona muy bien con PHP, pues me permite relacionar las tablas y que los datos estén todos relacionados. 96 00:08:50,529 --> 00:09:04,549 Y para guardar la página web, en este caso he utilizado GitHub con Visual Code, pues también a la hora de actualizar códigos y guardarlos me permite tener una buena copia de seguridad. 97 00:09:04,549 --> 00:09:17,750 La conclusión del proyecto, la verdad que ha sido una buena oportunidad para aplicar de forma práctica, de forma funcional, los conocimientos adquiridos durante este curso. 98 00:09:17,750 --> 00:09:43,509 He tenido algunos problemas a lo largo de este proyecto para realizarlo, pero al final con el tiempo que he tenido creo que ha salido una página bastante funcional y además una necesidad real que en este caso es la escuela que necesita digitalizar todos sus apartados para que sea para todo más sencillo, tanto entrenadores, gestión y para los padres y los jugadores. 99 00:09:43,509 --> 00:10:01,309 Y para el futuro, pues, estaría bien incorporar un módulo con una pasarela de pago real. Ahora mismo está en simulación de una cuenta bancaria que se descuenta automáticamente los pagos, pero no es un módulo real con una pasarela de pago real. 100 00:10:01,309 --> 00:10:18,570 Y eso pues sí que me gustaría implementarlo para el futuro y habilitarle algunas funciones de gestión para los jugadores y de gestión de partidos pues mediante un panel de administración más elaborado para que en el futuro también pues incluso sea más sencillo para ellos ver los partidos que les vienen y sus estadísticas. 101 00:10:19,509 --> 00:10:26,149 Y este es mi proyecto final de grado de 2025 que he cursado. 102 00:10:27,409 --> 00:10:30,129 Bien, ahora pasamos a la ronda de preguntas. 103 00:10:32,940 --> 00:10:50,399 Hola, ¿me escuchas ahora? Ahora es la ronda de preguntas y te voy a hacer 5 preguntas sobre el proyecto. La primera de todas, ¿cómo has gestionado el acceso por roles dentro de la aplicación y qué medidas tomaste para asegurar que solo los entrenadores pueden acceder al panel privado? 104 00:10:50,399 --> 00:10:58,259 Sí, pues en este caso los roles, el principal es el entrenador que es digamos la que tiene acceso privado 105 00:10:58,259 --> 00:11:04,279 y en el caso de que se quiera acceder como entrenador no puede cualquiera ya que a la hora de contratar al entrenador 106 00:11:04,279 --> 00:11:11,100 se le da un número específico de entrenador, de un ID, para que ellos a la hora de registrarse pongan ese número 107 00:11:11,100 --> 00:11:18,139 y se le registre como entrenador. En el caso de que un padre quise registrarse como entrenador no podría 108 00:11:18,139 --> 00:11:23,379 ya que no tiene ese número que se necesita para registrarse como entrenador. 109 00:11:23,580 --> 00:11:32,500 Y los padres o jugadores no es necesario, no es obligatorio para ver sus estadísticas y sus datos que estén logueados. 110 00:11:34,259 --> 00:11:40,159 En la sección de pagos, por ejemplo, explicas que los padres pueden simular una transferencia bancaria. 111 00:11:40,779 --> 00:11:45,840 ¿Qué proceso exacto sigue esa operación en tu sistema y cómo se valida la actualización? 112 00:11:45,840 --> 00:11:48,940 Se te ha entrecortado un poco, pero no sé si me lo podrías repetir. 113 00:11:49,580 --> 00:11:52,899 En la sección de pagos 114 00:11:52,899 --> 00:11:55,059 Explicas que los padres pueden 115 00:11:55,059 --> 00:11:56,720 Simular una transferencia bancaria 116 00:11:56,720 --> 00:11:58,899 Y se procesa el pago 117 00:11:58,899 --> 00:12:01,600 Y sigue una operación en tu sistema 118 00:12:01,600 --> 00:12:03,240 ¿Cómo se valida la actualización 119 00:12:03,240 --> 00:12:04,399 Del estado de la cuota? 120 00:12:06,100 --> 00:12:07,120 Vale, pues a la hora 121 00:12:07,120 --> 00:12:07,980 De hacer 122 00:12:07,980 --> 00:12:10,639 Esta simulación 123 00:12:10,639 --> 00:12:13,059 En este caso, pues si ponemos 124 00:12:13,059 --> 00:12:14,379 El nombre del jugador 125 00:12:14,379 --> 00:12:15,679 Vemos que se ha pagado 126 00:12:15,679 --> 00:12:18,460 Este número de cuenta bancaria 127 00:12:18,460 --> 00:12:21,120 en esta simulación 128 00:12:21,120 --> 00:12:23,059 el padre tendría 129 00:12:23,059 --> 00:12:25,179 no es un pago real como es una 130 00:12:25,179 --> 00:12:26,759 simulación 131 00:12:26,759 --> 00:12:29,059 si el padre quisiera controlar lo que lleva 132 00:12:29,059 --> 00:12:31,100 pagado en este caso pues tendría que poner 133 00:12:31,100 --> 00:12:33,100 la cantidad en este 134 00:12:33,100 --> 00:12:34,960 caso lo que quisiera pagar ahora 135 00:12:34,960 --> 00:12:37,120 pues vamos a poner 100 euros y la cuenta 136 00:12:37,120 --> 00:12:37,600 bancaria 137 00:12:37,600 --> 00:12:41,120 ahora de buscar el jugador de nuevo 138 00:12:41,120 --> 00:12:42,559 vemos que se ha vuelto a restar 139 00:12:42,559 --> 00:12:44,820 100 euros al día 20 de mayo hoy 140 00:12:44,820 --> 00:12:46,779 y solo le quedan 163 por 141 00:12:46,779 --> 00:12:59,220 En este caso, como es una simulación y no es un pago real, es simplemente esto una gestión de cuotas. Ahora mismo es una gestión para ver lo que le queda al padre por pagar y lo que tiene pagado. 142 00:13:01,440 --> 00:13:14,240 La tercera pregunta, ¿qué retos técnicos encontraste al implementar la consulta pública de convocatorias sin autentificación? ¿Y cómo garantizaste que los datos mostrados no expusieran información sensible? 143 00:13:14,240 --> 00:13:35,500 En este caso, para el tema de convocatorias, como simplemente salen el nombre y apellido y a la hora de consultar su convocatoria no salen ningunos datos más, digamos, críticos que puedan esclarecer o complicar la privacidad de los jugadores, 144 00:13:35,500 --> 00:13:39,159 pues se ha decidido mantenerlo abierto 145 00:13:39,159 --> 00:13:40,679 simplemente para que con el nombre y apellido 146 00:13:40,679 --> 00:13:46,279 puedan ver si van convocados, si van titulares o como suplentes 147 00:13:46,279 --> 00:13:48,399 como en este caso 148 00:13:48,399 --> 00:13:50,720 la convocatoria de entrenador sí que es privado 149 00:13:50,720 --> 00:13:54,240 y sí que necesita loguearse 150 00:13:54,240 --> 00:13:57,080 para mandar a la convocatoria 151 00:13:57,080 --> 00:13:59,220 la consulta digamos que es como si fuera 152 00:13:59,220 --> 00:14:03,000 si el entrenador lo mandara en este caso 153 00:14:03,000 --> 00:14:05,019 como se hace ahora en un grupo de WhatsApp 154 00:14:05,019 --> 00:14:07,460 manda la lista de los nombres y si se va convocado o no 155 00:14:07,460 --> 00:14:08,740 pues sería un poco 156 00:14:08,740 --> 00:14:11,500 imitando esta gestión simplemente 157 00:14:11,500 --> 00:14:12,440 que en la página web 158 00:14:12,440 --> 00:14:15,539 buscando por categoría de nombre ya te sale si vas 159 00:14:15,539 --> 00:14:23,289 convocado. En el cronograma 160 00:14:23,289 --> 00:14:24,289 que tienes 161 00:14:24,289 --> 00:14:27,029 estimas que hay 162 00:14:27,029 --> 00:14:29,149 más de 300 horas de desarrollo 163 00:14:29,149 --> 00:14:30,789 ¿puedes justificar esta 164 00:14:30,789 --> 00:14:33,009 estimación con base a las tareas reales que 165 00:14:33,009 --> 00:14:34,070 te has presentado? 166 00:14:35,590 --> 00:14:37,009 Creo que eso lo cambié 167 00:14:37,009 --> 00:14:39,070 a 80 porque estaba 168 00:14:39,070 --> 00:14:51,679 erróneo el que tienes ahora mismo en la plataforma era el final te lo digo porque es que eso lo cambié 169 00:14:56,500 --> 00:15:09,039 al haberme dado cuenta por es mejor desarrollo 80 no sé si a la hora de mandarlo creo que subí 170 00:15:09,039 --> 00:15:19,039 Pero ahora tengo dudas. Porque como me dijiste que editara y modificara, lo cambié a 80 con el diagrama Gantt. 171 00:15:21,879 --> 00:15:31,279 ¿Puedes justificar esas 80 horas de estimación en base a las tareas y el tiempo que has dedicado dentro de hacerlo? 172 00:15:31,279 --> 00:15:45,539 Sí, pues en este caso, como he comentado, he tenido algunos problemas y no me ha quedado mucho tiempo a la hora de realizar el proyecto. Entonces, pues he tenido que hacer prácticamente jornadas laborales con el proyecto. 173 00:15:45,539 --> 00:16:08,519 Y en este caso lo que más me ha costado es el tema de las convocatorias que sea funcional a la hora de que se guarden y se muestren en la convocatoria del jugador, que eso me llevó dos o tres días, que ya se van ahí a 16-24 horas, me llevó a realizarlo. 174 00:16:08,519 --> 00:16:28,340 Luego después, lo que menos tiempo me ha llevado en este caso es el login, porque para mí lo que me ha resultado más sencillo, que eso también lo pude compaginar con varias páginas a la vez, como pudo ser jugadores y equipos, que también es un código sencillo. 175 00:16:28,340 --> 00:16:33,700 pero sí que es verdad que a la hora de meter la base de datos pues eso era un poco más complejo 176 00:16:33,700 --> 00:16:37,799 a la hora de tener que meter en las tablas los jugadores y las columnas que tienen que llevar 177 00:16:37,799 --> 00:16:41,100 y al final eso también sí que me llevó pues un par de días 178 00:16:41,100 --> 00:16:49,899 luego a la hora de realizar también en este caso las páginas de entrenador como privadas 179 00:16:49,899 --> 00:16:56,279 eso también me dio bastante tiempo porque no conseguía poner que se pusieran privadas 180 00:16:56,279 --> 00:16:57,820 solo para el entrenador y que 181 00:16:57,820 --> 00:17:00,059 con ese usuario se pudiera entrar 182 00:17:00,059 --> 00:17:02,019 y también me llevó un tiempo 183 00:17:02,019 --> 00:17:04,660 configurarlo 184 00:17:04,660 --> 00:17:06,019 y más que nada hacer cada página 185 00:17:06,019 --> 00:17:08,059 en este caso de los entrenadores 186 00:17:08,059 --> 00:17:09,539 pues también me llevó 187 00:17:09,539 --> 00:17:12,059 un tiempo que al final pues 188 00:17:12,059 --> 00:17:14,440 en ese digamos en esos días 189 00:17:14,440 --> 00:17:16,119 que no he tenido mucho tiempo 190 00:17:16,119 --> 00:17:18,099 por los problemas que comento pues en 191 00:17:18,099 --> 00:17:20,460 10 días o así, he tenido que hacer unas 192 00:17:20,460 --> 00:17:22,140 jornadas prácticamente de 8 horas 193 00:17:22,140 --> 00:17:23,539 realizándolos el proyecto 194 00:17:23,539 --> 00:17:26,180 Perfecto, por último, si este sistema 195 00:17:26,180 --> 00:17:35,140 se quisiera implementar en una escuela deportiva real, ¿qué pasos considerarías clave para convertirlo en una solución profesional y operativa? 196 00:17:35,140 --> 00:17:46,200 Lo primero que haría es implementar una pasarela de pago real, que los padres pudieran pagar y ver su control de cuotas con una pasarela real, 197 00:17:46,319 --> 00:17:55,440 que no necesitaran pagarlo en el banco y luego poder ver el pago de cuánto les queda en la página, simplemente que lo hicieran todo allí en el momento. 198 00:17:55,440 --> 00:18:11,519 También, como he comentado, el panel de administración lo haría mucho más funcional y que no tuvieran que ir a distintas páginas como equipos, jugadores o pinchando en estadísticas, sino que sea todo un poco más intuitivo, más sencillo. 199 00:18:11,519 --> 00:18:23,299 Y eso sería lo principal, los siguientes pasos que debería seguir, porque ahora mismo se puede más o menos funcionar, pero creo que lo de los pagos, la base de la hora de pago es algo bastante necesario. 200 00:18:23,299 --> 00:18:29,839 Perfecto, pues con esto quedaría completada la presentación del proyecto 201 00:18:29,839 --> 00:18:34,980 Se te ha entrecortado y no te he entendido, Pedro