Saltar navegación

Defensa del proyecto DAW de José Antonio Vaquero Almarcha - Contenido educativo

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 15 de mayo de 2025 por Pablo A.

4 visualizaciones

Defensa telemática del proyecto en el CIFPD Ignacio Ellacuría de Alcorcón

Descargar la transcripción

Buenas tardes, José Antonio. Hoy, 15 de mayo, a las 16.30, estamos convocados a través de la Jefatura de Departamento para la defensa del módulo profesional de proyecto del ciclo formativo de grado superior de desarrollo de aplicaciones web. 00:00:00
Te informo que esta grabación se usará en el entorno cerrado de EducaMadrid con fines educativos y solo estará a disposición de los profesores en el aula virtual para llevar a cabo la evaluación y calificación de la defensa del proyecto. 00:00:17
En el aula virtual del proyecto ha sido informado de los criterios y rubricas de calificación. 00:00:35
El orden de presentación del proyecto es el siguiente. 00:00:43
15 minutos más para empezar el proyecto. 5 minutos para preguntas por parte de la tribuna. Y dicho esto, la exposición comienza a partir de este momento. Adelante y mucha suerte. 00:00:46
Gracias. Voy a empezar con el PowerPoint. Pues vamos para allá. El proyecto DAO, almacén tecnológico, es el proyecto que ha generado. 00:01:01
Y bien, ¿qué es el almacén tecnológico? Bueno, lo primero ante nada, este proyecto, aunque ponga almacén tecnológico, vale para cualquier tienda, 00:01:21
para cualquier almacén, para cualquier sitio 00:01:30
está estructurado para que sea 00:01:32
ambivalente para todos los sitios 00:01:34
ha cogido un almacén tecnológico 00:01:36
por ejemplo de aquí 00:01:37
pero bueno 00:01:40
el primer punto está basado en 00:01:41
PHP, MySQL, Javascript 00:01:44
una capa de estilos y está 00:01:46
implementado con el patrón modelo vista controlador 00:01:48
que es más o menos 00:01:50
lo que en estos momentos es 00:01:53
lo que sería 00:01:54
vale, objetivos 00:01:56
un sistema eficiente y seguro 00:02:03
pues, y estar en un producto 00:02:06
clientes y ventas, que es lo más general 00:02:08
en todos los sitios tiene que haber un producto, un cliente y unas ventas 00:02:10
es una 00:02:12
asociación interactiva para muchas pequeñas y medianas 00:02:14
empresas, cualquier tienda 00:02:16
podría coger este producto 00:02:18
y es un interfaz 00:02:20
que se ha puesto tanto para teléfono móvil 00:02:22
como para tablet, que quiere decir esto 00:02:24
que la pantalla está optimizada 00:02:26
para un rango grande 00:02:27
600 mil y pico megapíxeles 00:02:29
como para el teléfono móvil, los botones se acoplan, todo se acopla para una telefonía o una pantalla de ordenador o tablet. 00:02:32
La metodología. La metodología es la que he dicho antes, modelo vista controlador, ya se sabe, está, bueno, modelo, acceso a base de datos, 00:02:41
controlador, donde están las funciones y vista, donde está la pantalla principal de HTML, donde se muestra. 00:02:52
En cascada con la implementación 00:02:58
¿Qué quiere decir esto? Un diseño, un desarrollo 00:03:00
Unas pruebas y una implementación y un mantenimiento 00:03:02
Esto es exclusivo, pues si se quiere hacer 00:03:04
Pues un mantenimiento 00:03:06
Más exhaustivo, un crecimiento 00:03:08
Pues volvería al primer momento, quiero añadir 00:03:10
Este módulo, lo otro y demás 00:03:12
Con pruebas y mejoras continuas 00:03:13
Tecnología 00:03:16
Ya he dicho, PHP, JavaScript, Kappa 00:03:18
Resetom SQL, la herramienta 00:03:20
NetBeans, el SAM para conectar 00:03:22
Otras bases de datos y demás 00:03:24
y el servidor, por lo menos 00:03:26
el utilizado como sistema de base de datos 00:03:29
y esto es importante en librerías 00:03:31
todo lo que es, lo he hecho yo 00:03:33
y lo único que he cogido es librerías abiertas 00:03:35
el CDPDC para sacar los albaranes 00:03:37
JHS para sacar 00:03:39
los gráficos y más acceso 00:03:41
a correos, porque le he enfocado 00:03:43
que también tenga acceso a correos 00:03:45
para que sea algo distintivo 00:03:47
seguridad, bueno, la seguridad 00:03:48
en la primera, la contraseña 00:03:52
el inicio de datos, pues es el típico 00:03:54
de validación, de encriptación 00:03:56
y un proceso seguro 00:03:58
para que esté todo encriptado 00:04:00
y nos pueda ser accesible de las 00:04:01
edades. Seguridad 00:04:04
de páginas. Importante, va con un 00:04:06
sistema de rol. 00:04:08
Cada usuario, según el rol que lleva, 00:04:10
hay tres roles, de usuario, administrador, superadministrador, 00:04:12
como se muestra en la pantalla, 00:04:14
puede ver los diferentes tipos de páginas. 00:04:16
Ahora mismo, 00:04:19
está estandarizado que un usuario solo pueda 00:04:20
ver la configuración 00:04:22
y nueva venta, que pueda realizar una 00:04:24
venta un administrador puede meter diferentes tipos de productos que su administrador lo 00:04:26
puede manejar todo esto va por una sesión cuando se mete un usuario el rol que tiene 00:04:33
le da acceso a las páginas de seguridad email se ha accedido al mail como es el mail que yo 00:04:39
he puesto en este pues tiene que ser modificable para el mail que cada uno quiera meter en su 00:04:49
empresa tiene dos partes una que sea en la invitación que va dentro del conflicto hp y 00:04:53
luego está pues él en la tabla de configuración donde se mete esto es decir que si no te has 00:05:00
acceso las dos partes nunca vas a tener el correo ni la clave y es complicado con un hacker entre 00:05:09
en las dos. Pero bueno, es un motivo 00:05:16
de seguridad. El día de mañana 00:05:19
cuando se acoge una empresa 00:05:21
meterá su correo electrónico, meterá su 00:05:22
password y luego en el 00:05:25
config.php yo tengo una encriptación 00:05:27
él la puede variar. O sea, es más 00:05:29
hay un HTTP access para que no pueda 00:05:31
ser accesible esta carpeta por 00:05:33
nadie, para que no llegue uno y se meta 00:05:35
y vea la encriptación. 00:05:37
Un punto HTTP access. 00:05:41
Vale. La protección contra 00:05:44
SQL e inyección. 00:05:46
todas las SQL están metidas 00:05:47
por el sistema PDO 00:05:51
que quiere decir, en la imagen esta 00:05:52
que no veo un parámetro que se va recorriendo 00:05:54
y pongo un SQL 00:05:57
un ampliSAN 00:05:59
y meto esto, así evitamos 00:06:00
las comillas simples, evitamos 00:06:03
lo que se mete muchas veces son los scripts que meten 00:06:04
un script simulado 00:06:07
para que casque o entre 00:06:08
va dentro 00:06:10
del parámetro, por lo cual 00:06:12
es un sistema de seguridad 00:06:14
a los dos lados 00:06:16
planificación 00:06:17
bueno, esto es simplemente la planificación 00:06:20
como se va metiendo, pues de Magdagan 00:06:22
de los tiempos 00:06:24
en que se ha ejecutado este 00:06:26
este proyecto, despliegue y pruebas 00:06:28
como he dicho antes 00:06:32
ha habido la prueba de inicio de sesión con diferentes 00:06:33
usuarios y password, prueba de seguridad de usuarios 00:06:35
para acceder a los diferentes roles, que un usuario 00:06:37
con un rol solo puede entrar a esas páginas 00:06:40
prueba de aplicación 00:06:42
todos los casos de uso que se han generado 00:06:44
para que vaya a la aplicación 00:06:46
validación de seguridad de acceso remoto 00:06:47
lo que os hablaba antes, selección de SQL 00:06:50
sentencias de escape, meter una comilla simple 00:06:52
meter un script 00:06:54
anidad, que no entre 00:06:56
puedo arreglar el mensaje de consulta de SQL 00:06:57
vale, pues analización de la ejecutación 00:06:59
todos los SQLs de los logs 00:07:02
pruebas de carga de convoy y SQL de SELAP 00:07:04
con SQL para ver que 00:07:06
no se va ninguna SQL de mar de tarde 00:07:08
mucho y demás 00:07:10
despliegue, pues 00:07:11
configuración de servidor local 00:07:13
apache 00:07:15
con SAM 00:07:20
instalación SQL, bueno, es el despliegue normal 00:07:21
de un apache, de PHP 00:07:24
funcionalidad de la aplicación 00:07:26
es una funcionalidad que viene, bueno 00:07:31
típico con una imagen 00:07:33
con un scroll cuando paso por encima 00:07:35
que se mueve, que sea muy visible 00:07:37
como he dicho antes 00:07:39
acciones comunes, vale, el truco completo 00:07:40
que es el consulta al editar para las páginas 00:07:44
para que yo cree, edite y elimine registros. 00:07:46
Eso es para todas las páginas, menos para gráficos y correo. 00:07:49
Un buscador integrado, un botón de reclamo de prioridad. 00:07:55
Aquí solo hay dos niveles. 00:07:59
Para hacerlo sencillo, no sencillo sino visualmente, 00:08:00
y quizá aplicable al móvil, hay dos niveles. 00:08:03
El principal y un retorno. 00:08:06
O sea, yo entro dentro del módulo que yo quiera 00:08:08
y tengo una salida para afuera. 00:08:12
No hay varios niveles, voy entrando uno a uno. 00:08:13
Un retorno, confirmación de validaciones, cada vez que hay una validación, una edición, grabar datos, siempre hay una ventana de confirmación, el javascript y demás. Todo está metido también, hay que decirlo, dentro de, hay sus try-cats, todo lo que hay para que no salte ninguna control de secciones fuera, sea todo controlado. 00:08:16
diseño responsable de transferencia de datos para los dispositivos móviles y de escritorio 00:08:37
para que sea una aplicación actual. He cogido uno cualquiera, simplemente leo los registros que hay, 00:08:46
estas son las marcas, se ha cogido en esta aplicación lo que son marcas, lo que son 00:08:54
tipos, para que sean 00:09:02
para todas las operaciones de las tiendas 00:09:05
un create, que yo genere 00:09:07
un registro metiendo los datos arriba 00:09:09
lo que he dicho antes 00:09:11
la validación 00:09:12
y me inserta el registro 00:09:15
con el 00:09:16
update lo mismo, edito un registro 00:09:19
lo modifico, me pregunta si 00:09:21
voy a guardar los datos, si lo quiero guardar 00:09:23
acepto y lo modifica 00:09:24
y un delete, simplemente la misma operación 00:09:26
elimino registros 00:09:29
buscador, todas las páginas tienen 00:09:30
un buscador y un limpiador para buscar exactamente los campos principales que es lo que quiero buscar. 00:09:35
Aquí en pruebas y en todos los campos en la aplicación real pues habría muchísima. Lo que he hecho, botón de retorno 00:09:42
y de salida del logout de la aplicación, iría matando la sesión, saldría mal. Confirmación y validaciones, siempre hay 00:09:49
una pantalla de script donde me dice si estoy seguro para continuar y cuando lo he hecho, o sea, la aceptación 00:09:57
de que sea real. 00:10:04
Vale, el diseño 00:10:07
hemos dicho, que sea para todos 00:10:08
aunque sea posible. Aquí viene un ejemplo 00:10:10
cómo sería para un teléfono móvil. 00:10:12
Aquí sería para una pantalla 00:10:17
de escritorio de un ordenador. 00:10:18
Vale, 00:10:21
y voy a empezar un poquillo, un resumen 00:10:22
de las pantallas que hay. Marcas, pues siempre 00:10:24
tiene una marca. Aquí he puesto tecnológico, 00:10:26
pero si fuese zapatillas, pues sean zapatillas 00:10:28
o para ropa. 00:10:30
Tipo de productos, siempre 00:10:32
entre las marcas tiene que ser un impresor, 00:10:34
un portátil, si fuese zapatillas, el anterior 00:10:36
sería Adidas, Lime, no sé qué 00:10:38
y aquí sería zapatillas, camisetas 00:10:40
pues, valia 00:10:41
descuentos 00:10:43
importante, yo aplico los descuentos 00:10:46
aquí en la tabla, el descuento que yo quiera que sea 00:10:48
puntual, que sea por 00:10:50
por Black Friday 00:10:51
que sea cero, que no haya descuento 00:10:53
producto, pues el 00:10:55
producto ya se le pone todo lo que es 00:10:58
la referencia, el producto, el nombre 00:11:00
ya voy a todo lo que es 00:11:02
todas las tablas, estoy cogiendo arriba las tablas 00:11:03
de las plantas anteriores, que es el tipo 00:11:06
impresora, lo que sea 00:11:08
el descuento, si voy a meterlo, la marca 00:11:09
de aquí genero el producto 00:11:12
puede ser una impresora de Samsung, de 00:11:13
Inves, de lo que sea, sin descuento, con descuento 00:11:16
las cantidades que yo estoy ingresando, no me lo hacen 00:11:18
el precio que yo ingreso 00:11:20
el nombre, para mí, descriptivo 00:11:22
y una referencia propia 00:11:24
nueva 00:11:26
venta, aquí es donde yo realizo 00:11:28
la venta, esto es lo importante 00:11:30
bueno, lo importante es todo 00:11:32
Y esta es la peor angular. Aquí algo descriptivo, que primero selecciono el cliente. Seguidamente, después de seleccionar el cliente que viene a la parte de arriba, selecciono cuántos productos y qué cantidad voy a generar en el albarán y yo genero esta venta. 00:11:33
Esta venta tiene abajo un albarán donde me muestra que sería el ticket de compra, el albarán de compra, con su descuento, los precios, las cantidades y demás. 00:11:52
Los clientes, clientes son los clientes que se generan, las facturas que puedo hacer devolución, que es importante que yo cuando vengo un cliente me pase una devolución, 00:12:07
esto. Genera 00:12:17
un albarán nuevo en base de datos 00:12:19
este es el ejemplo anterior 00:12:21
donde se ha quitado y se ha generado 00:12:23
y se quedaría 00:12:25
aquí se ve 00:12:26
con que esto ha sido una devolución 00:12:29
que da en base de datos pero con devolución. 00:12:31
Bien, este es el típico albarán 00:12:35
donde viene los datos que 00:12:37
vienen dentro de la configuración 00:12:39
de la tienda, el cliente y que 00:12:41
se ha comprado en el momento dado. 00:12:43
Roles. Lo que hemos dicho antes de 00:12:46
cada usuario tiene unos roles. 00:12:48
identificados, esos roles pueden variar, yo puedo a una persona quitarle, meterle roles a un tipo de 00:12:50
usuario, una persona, por ejemplo, estos roles de usuario ahora mismo solo tendría dos pantallas, 00:12:58
el de administrador tendría todas menos la de roles y usuarios, que son las de superadministrador 00:13:03
que irá dando los permisos. Usuario es igual, gestión de usuario, pues lo mismo, un usuario y 00:13:08
contraseña, que se va metiendo un usuario y el tipo, sobre todo aquí lo importante es el tipo, 00:13:15
qué tipo es admin y el usuario superando estos son estadísticas de totales promedio venta por 00:13:20
clientes y productos de stock mínimo para ver productos están acabados la configuración en 00:13:27
dos partes el nombre que viene en el albarán el teléfono dirección y el correo electrónico 00:13:34
bueno esto es simplemente la edición del correo electrónico esto es la parte de correos que donde 00:13:38
yo esté accediendo a un correo de yahoo donde yo puedo tener todo mi correo visualizarlos es una 00:13:47
revisión licación y yo tengo el detalle donde lo hago y veo lo que está llegando bueno base de 00:13:54
datos la base de datos es un árbol rápido normalizado y con consistencia qué quiere 00:14:02
decir esto no hay relaciones circulares yo no llevo a los sitios por el mismo lado todos la 00:14:09
la tabla de datos tiene sus índices 00:14:14
y todo está relacionado. 00:14:16
Menos configuración, aparte, claro que está. 00:14:18
Bueno, estos resultados, que se puede 00:14:21
aplicar a cualquier sitio, que es un 00:14:22
control detallado, tiene agilidad, 00:14:24
una interfaz amigable, 00:14:28
mejor en tomar decisiones 00:14:29
por las gráficas y centralización de datos. 00:14:30
Hay mejoras futuras, 00:14:35
como interacción de comercio, 00:14:36
multilinguaje, modelos de forma avanzados 00:14:38
y ya, se podría meter y correo electrónico 00:14:40
no envío correo, solo lo recibo ahora mismo 00:14:43
sería enviarlos 00:14:44
por la anterior conclusión 00:14:46
y ahora me voy a la otra parte 00:14:48
que os quiero enseñaros como funciona 00:14:51
esto es 00:14:53
lo que estáis viendo, bueno, entro como administrador 00:15:19
ahora mismo y bueno pues 00:15:21
me da tiempo pues a generar 00:15:25
una venta, una nueva venta 00:15:27
yo busco primero el cliente 00:15:29
que sea Tesla, yo por ejemplo le meto 00:15:32
aquí un láser 00:15:35
y le meto de láser jet 00:15:37
pues le voy a meter dos. 00:15:39
Así le voy a meter 00:15:41
esto y le voy a meter 00:15:42
uno. Abajo se van 00:15:44
abriendo todas, genero la venta 00:15:47
venta procesada 00:15:49
correctamente y aquí está, aquí le daría 00:15:51
yo a mi albarán 00:15:53
donde sale el producto, todo lo 00:15:54
que he comprado con su descuento. 00:15:59
Estos descuentos los meto yo porque 00:16:00
conmovio al electro. Un minuto. 00:16:02
Vale, que quiero devolver un producto, pues aquí, bueno, esto sería estadísticas también desde el ciclo de verlo, como era, en facturas, esta última factura que he creado, que estaría aquí, por esos tres productos, y quiero devolver esta, la devuelvo, devolvería al cliente su dinero, 00:16:04
y ahora mismo 00:16:28
me sale esta de vuelta 00:16:31
y el albarán pues me saldría 00:16:33
pues el único producto 00:16:35
se debería de estar al barán 00:16:37
que ha comprado 00:16:38
y el nuevo 00:16:40
y los nuevos, bueno, no al barán 00:16:41
vale 00:16:45
y aquí pues 00:16:47
gestión de roles, configuración 00:16:51
así se va a editar 00:16:53
el permiso, lo he parado antes, aquí puedo editar 00:16:55
lo que quiera 00:16:57
descuentos, también la gestión de descuentos 00:16:58
y lo de productos también es interesante 00:17:03
porque aquí es donde, digamos, 00:17:05
un producto genera todo 00:17:07
genera qué tipo es el descuento 00:17:08
o no aplica, que sería un cero 00:17:11
el tipo de marca, el tipo de impresora 00:17:13
la cantidad que estoy metiendo en el almacén 00:17:15
por ejemplo, 120 cogidos 00:17:16
el precio, pues 121 euros 00:17:19
producto 00:17:22
impresora 00:17:22
75, creo que va a llamar 00:17:24
y referencia 00:17:27
pues 00:17:29
Philips 00:17:30
impresora 001 00:17:33
vale, producto 00:17:35
listo 00:17:39
un día aquí, aquí está el libro 00:17:40
y aquí sería para editar, por ejemplo, si al final 00:17:42
viene pues una Brad Friday 00:17:45
y le quiero meter un descuento, le metería aquí 00:17:47
y atendría aquí, pues esto 00:17:49
con su descuento y con todo 00:17:53
es el 15 de Brad Friday 00:17:54
Y esto, bueno, ya con esta presentación, lo más rápido y condensada que he podido, pues este sería el producto, el proyecto que he generado, que es gestión de almacenes tecnológicos. 00:17:57
Perfecto, muchas gracias José Antonio. Bueno, te voy a trasladar dos preguntas por partes del tribunal. 00:18:10
Una es una pregunta que tienes que contestar y otra es una pregunta que lo que tienes que hacer es desarrollarlo en la aplicación. 00:18:18
Lo primero, es un programa más completo, hecho en relativamente muy poco tiempo. 00:18:30
Y lo que te pregunta el tribunal es si has recibido alguna ayuda en el código, a través del código hecho, generado por la inteligencia artificial o han sido tiempos hechos por ti. 00:18:40
Yo soy informático. 00:18:58
Y la segunda pregunta es, que cogiendo en tu exposición la impresora 77, nos digas cómo la impresora como producto entra en el sistema, en la base de datos, 00:19:00
cómo cuánto se hace la venta, sale del sistema y se genera la factura, y cómo si hay una posible devolución, cómo vuelve a entrar otra vez en la base de datos. 00:19:16
perfecto voy primero con la primera pregunta lo he hecho rápido porque yo soy informático y 00:19:27
estoy en un presente proyectos amando escribir y en ese proyecto yo voy al trabajo todo estas 00:19:41
ocho horas pero ahora mismo no tenía nada que hacer por lo cual me he dedicado ocho horas 00:19:46
todos los días a hacerlo si yo no estuviese en un pendiente proyectos este proyecto que 00:19:50
parece que es pequeñito no lo hubiese realizado el trabajo trabajo si no te ven viendo youtube 00:19:55
internet o algo no te dicen a tener programando y además puede poder puedo decir que yo estoy 00:20:02
adquiriendo conocimientos nuevos de php por lo cual hay nadie está que se estoy haciendo un 00:20:08
trabajo medio algo presente el proyecto no me dice nada segundo impresora 77 que se ha generado 00:20:14
No me acuerdo bien de la pregunta, pero bueno, un poco la gestión, si se devolvía, dónde se guarda la relación. Es un producto que está relacionado con los campos, además, el campo de producto está relacionado con los campos tipo, marcas y descuentos, o sea, es el campo que está relacionado con esos tres. 00:20:21
Entonces, ¿qué pasa si yo lo modifico? Se modifica lo que es, yo no puedo modificar tipo ni marca de producto dentro del producto, puedo modificar afuera e incluir un producto o modificarlo, o sea, un tipo, una marca. 00:20:38
lo que es el producto en sí, 00:20:53
podemos fijar precios y demás. 00:20:55
Si queríamos crearle un tipo, tendría que irme 00:20:57
fuera y decir, ahora ya no se llama Phyllis, se llama 00:20:59
Phyllis Ibérica. 00:21:01
Bueno, me saldría, yo lo haría con un ID, 00:21:03
no con un string. Por lo cual, en el momento 00:21:05
saldría Phyllis Ibérica como tipo. 00:21:07
¿Me explico? En el momento 00:21:10
que yo devuelvo, eso se 00:21:11
incrementa en productos, hay una cantidad 00:21:13
que he metido al principio. No sé si os acordáis 00:21:15
que decía, el número de cantidades que he metido en el almacén 00:21:17
se incrementa. En el momento que yo vendo una 00:21:19
cosa, se decrementa. Y por eso está 00:21:21
el gráfico el tres gráficos y uno es de esto mínimo hay productos que están estos mínimos 00:21:23
que hay que meter porque en ese momento pues se están acabando y hay que visualizar lo que 00:21:29
se están acabando es importante en el momento que yo resto uno o dos o cuatro los que compré 00:21:33
es más no le echo la prueba ahora pero si yo resto más de lo que me salió alerta no puedes 00:21:40
porque no hay tanto esto. En el momento que yo elimine o devuelva, pues se suma, se suma a los productos. 00:21:44
No sé si me queda alguna pregunta pendiente de todo. No sé si está respondido todo o me falta algo. 00:21:55
Bueno, aquí acabo. Es lo que has dicho. Bueno, pues vamos a dar por terminada la presentación. 00:22:03
Y ahora quedamos a la esperanza de comprobar que todo se haya hecho correctamente. 00:22:14
De acuerdo, Luis. 00:22:21
Muchas gracias. 00:22:22
Idioma/s:
es
Materias:
Programación
Etiquetas:
Aplicaciones WEB
Niveles educativos:
▼ Mostrar / ocultar niveles
  • Formación Profesional
    • Ciclo formativo de grado superior
      • Primer Curso
      • Segundo Curso
Autor/es:
Pablo Arribas
Subido por:
Pablo A.
Licencia:
Dominio público
Visualizaciones:
4
Fecha:
15 de mayo de 2025 - 17:25
Visibilidad:
Clave
Centro:
IES CIFP a Distancia Ignacio Ellacuría
Descripción ampliada:
Grabación realizada con la herramienta OBS para poder ser visualizada por el tribunal calificador
Duración:
22′ 25″
Relación de aspecto:
1.78:1
Resolución:
1920x1080 píxeles
Tamaño:
211.23 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid