Saltar navegación

DAW Defensa Manuel Luis Muñoz Sánchez - 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 24 de enero de 2025 por Pablo A.

3 visualizaciones

Defensa del proyecto fin de grado de DAW

Descargar la transcripción

Buenas tardes, Manuel. Hoy día 22 de enero a las 7 y 20 horas estamos convocados a través de Jefatura de Deportamento para la defensa del módulo profesional de proyecto del ciclo formativo de grado superior de desarrollo de aplicaciones web. 00:00:01
Informo que esta grabación se usará en el entorno cerrado de EducaMadrid con fines educativos y sólo estará a disposición de los profesores en el aula virtual para llevar a cabo la evaluación y la calificación de la defensa del proyecto. 00:00:16
En el aula virtual de proyecto has sido informado 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, 5 minutos para preguntas por parte del tribunal y dicho esto, tu tiempo de exposición comienza a partir de este momento. Adelante y mucha suerte. 00:00:29
Buenas tardes. ¿Alguna vez has tenido la sensación de querer mejorar en algún punto de tu vida, pero no has sabido por dónde empezar? 00:00:52
Tal vez tu objetivo sea leer más libros, pero ¿te abruma la cantidad de opciones disponibles o no tienes la capacidad de mantener el hábito? 00:01:03
Soy Manuel Luis Muñoz, estudiante del grado superior de Desarrollo de Aplicaciones Web y tengo el honor de presentar Enhanced Reads, 00:01:11
Una plataforma web dedicada para mejorar este proyecto. Actualmente, pese a vivir en una sociedad repleta de información, mucha gente, gran parte de la población, no tiene acceso a recursos de alto valor en áreas claves como son las habilidades sociales, los recursos financieros y la salud mental. 00:01:20
Enhanced Reads tiene como misión ser el punto de encuentro para todas aquellas personas interesadas en el ámbito de la mejora personal y colectiva. 00:01:43
Entre los objetivos se destacan facilitar la integración e intercambio de conocimientos, ofrecer una amplia variedad de libros y recursos de gran valor y diseñar una interfaz intuitiva, minimalista y accesible a todo tipo de usuarios y dispositivos. 00:01:53
Para el desarrollo de este proyecto se ha empleado el ciclo de vida iterativo e incremental, pues permite un desarrollo flexible, eficiente y adaptable. 00:02:08
En cuanto a las tecnologías, en el frontend se ha empleado HTML, CSS, Javascript y jQuery para diseñar una interfaz minimalista y dotar de interactividad al sitio web. 00:02:20
En el backend se ha utilizado PHP, Composer como gestor de dependencias y MySQL como sistema gestor de base de datos. 00:02:33
En cuanto a las herramientas, Git y GitHub permiten el control de versiones del código, Visual Studio Code ha permitido la codificación del proyecto y VirtualBox es la herramienta encargada de desplegar las máquinas virtuales del proyecto. 00:02:42
En cuanto a la arquitectura, se ha ampliado el patrón modelo vista controlador 00:02:56
Pues permite un desarrollo organizado, modular y escalable 00:03:01
El sistema es transparente para el usuario 00:03:05
Pues cuando se realiza una petición, el controlador se comunica con el modelo 00:03:11
Este le responde los datos correspondientes y el controlador renderizará la vista necesaria al usuario 00:03:16
En cuanto al esquema de red, el proyecto se fundamenta en tres máquinas virtuales con sistema operativo Ubuntu, ejecutadas bajo un único sistema anfitrión con Windows. Esto ha permitido separar y aislar los servicios, mejorando el rendimiento, la seguridad y la optimización de los recursos. 00:03:22
Por un lado, el servidor DNS permite la traducción de nombres de dominio a direcciones IP. 00:03:44
El servidor web y de base de datos permite gestionar la aplicación web, servir la aplicación y almacenar los datos de la misma. 00:03:53
Por otro lado, el cliente web es la máquina que empleará el usuario para acceder a la aplicación desde un navegador. 00:04:05
El diseño de la plataforma está basado para crear una experiencia intuitiva, minimalista y accesible a todo tipo de usuarios. Para ello, se ha diseñado una interfaz de escritorio, ideal para ordenadores de sobremesa y portátiles, y una interfaz responsive, ideal para dispositivos móviles y tablets. 00:04:11
De igual manera, la aplicación cuenta con un tema claro y con un tema oscuro, ambos con una paleta de colores concreta para garantizar una calidad de lectura en cualquier tipo de entorno. 00:04:33
En cuanto al apartado de pruebas, a continuación se harán en tiempo real unas pruebas desde la máquina virtual del cliente. 00:04:45
Para ello, se accederá a la página principal, en donde se pueden apreciar las dos secciones principales de la web, tanto libros como publicaciones, un apartado donde se informa del objetivo de la web, así como las valoraciones de los usuarios, y un pie de página en donde aparecen los datos de contacto y la información legal. 00:04:55
Comenzando con la gestión de usuarios, el proceso inicia al dar clic en el botón de acceder 00:05:18
Se mostrará un formulario de inicio de sesión en donde además el usuario puede crear una cuenta o restablecer su contraseña 00:05:28
Para crear una cuenta se deberá indicar el nombre de usuario, que en este caso es Pablo 00:05:37
Un correo electrónico y una contraseña que debe de ser validada 00:05:42
Al crear la cuenta saldrá un mensaje de éxito y se redirigirá al formulario de inicio de sesión 00:05:50
Para ello indicamos las credenciales que acabamos de indicar y nos habremos logado correctamente 00:06:03
Una vez iniciada la sesión el usuario tiene la capacidad de cerrar la sesión y de modificar su perfil 00:06:12
En este caso se añadirá el apellido al usuario 00:06:18
Tras dar en aceptar aparecerán los datos ya actualizados 00:06:22
Asimismo, en esta interfaz, el usuario puede eliminar su cuenta haciendo clic en el botón correspondiente y aceptando la validación 00:06:30
Tras la confirmación, se regresará a la página de inicio y el usuario habrá quedado borrado 00:06:40
A continuación, se mostrará la sección de libros y recursos, en donde de manera principal se mostrará todo el catálogo de manera paginada 00:06:47
paginada. Asimismo, existe la capacidad de filtrar los resultados por diferentes criterios. A 00:06:56
continuación se mostrarán que al filtrar por libros de finanzas con más de 200 páginas, 00:07:05
existen dos resultados. Al hacer clic en la portada de un libro de recursos, se mostrarán los detalles 00:07:10
del mismo, incluyendo información esencial como enlaces a las diferentes plataformas para su 00:07:17
compra en caso de un libro por ejemplo amazon casa del libro nada y busca libre en cuanto a 00:07:23
la administración de los libros y recursos esta acción recae únicamente en el administrador para 00:07:31
ello se inicia la sesión con la cuenta de administrador que es menor y puesto que el 00:07:36
usuario de administrador requiere de una doble factor de autenticación se deberá de indicar un 00:07:45
código OTP, One Time Password, generado por Google Authenticator. Tras iniciar sesión y regresar a la 00:07:51
sección de libros, aparecerá un botón que se llama gestionar libros. Al pulsar en él, se podrán 00:07:58
insertar libros, autores, géneros y editoriales, cada uno con su formulario correspondiente. 00:08:06
En este ejemplo, para insertar un libro, se hará la inserción del título llamado Deja de ser tú, de Joy Dispensa 00:08:12
El cual recomiendo encarecidamente su lectura, pues es un libro de mentalidad que puede cambiar tu día a día 00:08:24
Para facilitar este proceso, la inserción de los diferentes datos solicitados los tengo anotados en un blog de notas 00:08:33
Pues esto voy a ir indicando los datos correspondientes. El año de publicación del libro fue 2012, idioma español, ISBN está por aquí, y en cuanto a la portada se indicará una imagen que tengo previamente descargada. 00:08:41
Para la descripción se insertará la sinopsis del libro y en cuanto a los enlaces se indicará el enlace de compra a la web de Amazon y a la casa del libro 00:08:59
Tras insertar el libro aparecerá un mensaje de éxito y al regresar a la sección veremos que aparece el libro ya insertado en el catálogo 00:09:14
Al hacer clic en el libro, el usuario administrador tiene la posibilidad de editarlo y eliminarlo 00:09:23
En este caso, vamos a cambiar el autor a Brian Tracy 00:09:31
Y tras actualizar los datos y regresar, se puede apreciar que ha cambiado 00:09:35
De igual manera, en caso de querer borrar el libro, tan simple como pulsar en borrar y aceptar la confirmación 00:09:40
Ahora para abordar el apartado de publicaciones voy a iniciar sesión con una cuenta de Google 00:09:46
Voy a introducir mis credenciales y me lo hará automáticamente 00:09:56
En este apartado de publicaciones aparecerán un listado de todos los posts vigentes, también de manera paginada 00:10:04
así como la posibilidad de hacer filtrado de los resultados por diferentes criterios en este caso 00:10:13
como el usuario está autenticado tiene un filtro adicional de favoritos en el que se muestran las 00:10:21
publicaciones a las que el usuario ha dado me gusta al hacer clic en una publicación esta se 00:10:28
mostrará de forma completa incluyendo el apartado de comentarios para crear una publicación es tan 00:10:35
simple como dar clic en el botón crear post y rellenar la categoría el idioma el título y su 00:10:43
contenido en esta ocasión se va a insertar una pequeña publicación de una frase motivacional 00:10:49
por tanto la categoría será mentalidad y el título es el poder está en ti ahora indicamos 00:10:57
el contenido del mismo y damos en publicar tras quitar el filtro de favoritos aparecerá en la 00:11:03
publicación recién creado puesto que somos el autor de dicha 00:11:11
publicación tenemos la posibilidad de editarlo en este caso vamos a cambiar el 00:11:16
idioma inglés y se puede apreciar cómo ha cambiado correctamente así como la 00:11:21
posibilidad de eliminar la publicación tras la previa confirmación 00:11:26
además los usuarios autenticados tienen la posibilidad de dar me gustas a las 00:11:32
publicaciones y realizar comentarios. En este caso se va a dejar me gusta a la publicación de Jorge 00:11:37
sobre las claves de mejorar tu productividad y se le dejará un comentario de apoyo. 00:11:43
Como vemos aparece aquí ya insertado hace un momento. Debido a esta interacción social cada 00:11:51
usuario autenticado tendrá un apartado de notificaciones representado por una campana 00:11:58
en donde se mostrará un listado en tiempo real de todas las interacciones a las que el usuario ha recibido. 00:12:03
Al hacer el clic en una de ellas, se mostrará la publicación de manera individual, 00:12:11
lo cual es ideal para compartirla con otros usuarios o para guardarla para su posterior lectura. 00:12:17
Regresando a la presentación, toca abordar el apartado de conclusiones, 00:12:25
Pues tras el desarrollo de este proyecto se han llevado a cabo varios de los objetivos propuestos inicialmente, tales como el desarrollo de una plataforma funcional que fomente la mejora personal y colectiva, el desarrollo de una interfaz minimalista que cumple con los estándares de accesibilidad y la implementación de medidas de seguridad que refuerzan la integridad del sistema. 00:12:29
Para el largo plazo se han planteado diversas mejoras y actualizaciones en la plataforma, tales como la personalización del contenido sugerido mediante inteligencia artificial, la creación de un chat entre los miembros de la plataforma, la traducción de la web a múltiples idiomas y la migración de la aplicación a la nube para una mayor escalabilidad. 00:12:55
Si alguna vez has tenido dudas de cómo empezar a mejorar tu vida, ahora ya sabes que en Enhanced Reach tienes todo el contenido y material necesario para dar este primer paso, pudiendo incluso mejorar en comunidad. Muchas gracias por su atención. 00:13:18
Muchas gracias a ti Manuel. Y pasamos ahora a las preguntas. ¿Nos puedes mostrar el entorno de desarrollo para ver dónde está el código, cómo se puede modificar y ver el diseño de la base de datos? 00:13:34
Sí, el código lo tengo por aquí en el Visual Studio Code. ¿Necesitas que te muestre algo en especial? 00:13:55
no únicamente ver el entorno como se ha desarrollado sí pues aquí tenemos la el 00:14:03
proyecto se divide en diferentes en directorios en este primer directorio de linux son los scripts 00:14:12
empleados para la configuración de las máquinas virtuales por tanto no están relacionados como 00:14:19
tal al proyecto a la página web y luego en él en el directorio public se encuentran alojados 00:14:26
los assets en donde aparece todo el contenido css las hojas de estilo las fuentes empleadas 00:14:37
las imágenes del proyecto tanto los avatares de los usuarios como las portadas de los libros 00:14:45
Y las diferentes imágenes empleadas en la aplicación. Además, se incluye todo el código JavaScript de la aplicación, en donde se puede, por ejemplo, mostrar este código de inicio, donde hay código que se referencia del Intersection Observer para cuando el apartado de Conoce no sé si te lo puedo llegar a mostrar. 00:14:52
Vale, pues esto es cuando estás haciendo scroll en la página, hay un apartado, este código detecta que el scroll ha llegado al viewport y entonces se muestra el contenido concretamente, para no mostrarlo de manera directa, únicamente cuando el usuario hace scroll. 00:15:22
También se incluye en este apartado de la carpeta public el fichero index.php que contiene todas las rutas de la aplicación 00:15:43
Por ejemplo, las rutas de los libros y las rutas de las publicaciones, es como los endpoints, por así decirlo 00:15:57
Luego se incluye la carpeta SQL que incluye todo el código de la base de datos para la creación de las tablas y la inserción de todos los datos, incluyendo notificaciones, libros, autores, etc. 00:16:05
En el directorio SRC se contiene toda la estructura modelo vista controlado. En la primera carpeta de controllers hay una clase main, una clase principal controller, encargada de gestionar y despachar las rutas y luego las diferentes subclases heredan de esta principal. 00:16:24
Y aquí cada clase tiene asociada una tarea concreta. Este controlador, por ejemplo, es el encargado de gestionar las publicaciones. Hace la conexión con el modelo y se realizan las peticiones a la base de datos. 00:16:51
Pasando a los modelos, pues igual incluye una clase principal de la conexión a la base de datos 00:17:14
Y las demás clases se heredan de esta 00:17:24
Por ejemplo, la clase de usuarios incluye todos los métodos para hacer las consultas a la base de datos 00:17:26
Por ejemplo, obtener el rol de usuario, pues se hace la conexión a la base de datos y se hace un select de la tabla correspondiente 00:17:36
En cuanto a las vistas, pues se han organizado las diferentes páginas que el usuario ve según las categorías 00:17:43
Por ejemplo, en el directorio de libros podemos ver este fichero, esta vista de libros 00:17:52
En donde aparece los diferentes filtros de la página 00:18:02
así como un contenedor en donde se albergarán todos los libros obtenidos de la base de datos. 00:18:09
También en este directorio de SRC se incluye el fichero RoutepHP, que es el encargado de gestionar las peticiones HTTP, ya sean GET o POST, 00:18:20
y despachar la solicitud según sea el método utilizado. 00:18:34
En cuanto al directorio de test, se incluyen las clases con las pruebas unitarias realizadas en cada apartado. 00:18:44
En este caso son las pruebas unitarias sobre el apartado de publicaciones. 00:18:54
Puesto que se ha utilizado PHP Unit y se han empleado mockups de las clases 00:18:58
Esto ha permitido que no se modifiquen los datos reales 00:19:04
Es hacer una simulación mientras se han realizado las pruebas unitarias 00:19:10
Luego el directorio vendor es creado por Composer para albergar todas las dependencias 00:19:14
Y en el directorio principal de la aplicación se incluye Gitignore 00:19:20
que son los directorios excluidos al subir el proyecto a GitHub. Composer.json y Composer.log son los ficheros necesarios de Composer. 00:19:26
El license.txt es el archivo de licencia, en este caso es una MIT license 00:19:40
Y el readme es un fichero markdown en donde se explica el objetivo del proyecto, su instalación y justamente lo que estamos tratando en los directorios de la aplicación 00:19:48
Muy bien, pues muchas gracias 00:20:02
¿Tienes algo más que añadir? 00:20:12
¿O algo que consideres oportuno? 00:20:16
Antes de dar por finalizada la presentación 00:20:19
No, puesto que ya me has comentado 00:20:21
Antes que las notas iban a ser el 29-30 00:20:24
No tengo ahora mismo ninguna objeción 00:20:28
Venga, pues muy bien, muchas gracias 00:20:30
Y damos por finalizada la presentación 00:20:33
A ti Pablo 00:20:35
Idioma/s:
es
Materias:
Informática
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:
Todos los derechos reservados
Visualizaciones:
3
Fecha:
24 de enero de 2025 - 16:04
Visibilidad:
Clave
Centro:
IES CIFP a Distancia Ignacio Ellacuría
Descripción ampliada:
La defensa del proyecto se realizó el 22 de enero de 2025 a las 19:20 horas
Duración:
20′ 40″
Relación de aspecto:
1.78:1
Resolución:
1920x1080 píxeles
Tamaño:
171.94 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid