En este repositorio voy a estar trabajando con mi proyecto del semestre de la materia de Fundamentos de Desarrollo Web de 7SEM, la cual estoy recursando.
En mi caso decidí trabajar con un sitio web de información de películas, el cual es el mismo proyecto que elegí la primera vez que cursé la materia. Dicho proyecto se encuentra en el siguiente repositorio:
Los requerimientos del proyecto se encuentran en el documento:
Mi propuesta inicial del proyecto la realicé el Martes, 24 de AGOSTO, y se encuentra en el documento:
En esta sección se encontrarán los hitos importantes a lo largo del desarrollo del proyecto.
Fecha | Hito |
---|---|
Martes, 24 de AGOSTO del 2021 | Inicio del proyecto. |
Martes, 24 de AGOSTO del 2021 [11:59 PM] | Entrega de la propuesta inicial del proyecto. |
Ya que ya cursé esta materia una vez, alcancé a hacer la maquetación para computadoras, pero no para dispositivos móviles. Esta la hice en Figma y se encuentra en el siguiente enlace:
La lista de pantallas que están disponibles son las siguientes:
- Administrador
- Agregar película
- Usuario registrado
- Comentar película
- Dar like a comentarios
- Calificar película
- Inicio de sesión
- Generales
- Ver lista de películas
- Ver detalles de película
- Registro
- Administrador
- Agregar película
- Eliminar película
- Usuario registrado
- Editar perfil
- Usuario general
- Inicio
- Registro
- Login
- Detalles de película
Hice un diseño más complejo del que tuve que implementar, ya que, hubiese aumentado la complejidad de la página por las tablas de actor, director y género, ya que, hubiese tenido que implementar tablas intermedias, además de la lógica necesaria.
El diagrama lo hice con la aplicación StarUML en su versión gratuita. Lo que impide es los diagramas se puedan exportar sin la marca de agua.
En la tabla de películas, en lugar de utilizar tablas intermedias para los actores, directores y géneros, lo guardé como cadena para no aumentar la complejidad del sitio.
El tipo de dato ENUM permite ingresar valores definidos en la creación de la tabla y pesa menos bytes que si se almacenara como VARCHAR. Esto se puede encontraren la documentación oficial de MySQL:
"MySQL 8.0 Reference Manual / ... / The ENUM Type / 11.3.5 The ENUM Type"
https://dev.mysql.com/doc/refman/8.0/en/ansi-diff-foreign-keys.html
-
comentario_pelicula
USE `fdw_dic_2021_proyecto_final`; CREATE TABLE `comentario_pelicula`( id INT NOT NULL AUTO_INCREMENT, pelicula_id INT NOT NULL, usuario_id INT NOT NULL, comentario VARCHAR(256) NOT NULL, fecha DATE NOT NULL, hora TIME NOT NULL, PRIMARY KEY (id), FOREIGN KEY (pelicula_id) REFERENCES pelicula(id), FOREIGN KEY (usuario_id) REFERENCES usuario(id) );
-
like_comentario
CREATE TABLE `fdw_dic_2021_proyecto_final`.`like_comentario`( comentario_pelicula_id INT NOT NULL, usuario_id INT NOT NULL, FOREIGN KEY (comentario_pelicula_id) REFERENCES comentario_pelicula(id), FOREIGN KEY (usuario_id) REFERENCES usuario(id) );
-
calificacion_usuario_pelicula
CREATE TABLE `fdw_dic_2021_proyecto_final`.`calificacion_usuario_pelicula`( pelicula_id INT NOT NULL, usuario_id INT NOT NULL, numero_estrellas FLOAT NOT NULL, FOREIGN KEY (pelicula_id) REFERENCES pelicula(id), FOREIGN KEY (usuario_id) REFERENCES usuario(id) );
-
A continuación se encontrará una lista con algunas de las fuentes (las que recordé registrar) que me fueron útiles.
- https://stackoverflow.com/questions/8112831/implementing-comments-and-likes-in-database -
- https://stackoverflow.com/questions/490464/how-to-design-a-movie-database
- https://stackoverflow.com/questions/10628186/mysql-store-multiple-references-for-another-table-inside-one-cell-and-select-it
- https://ahrefs.com/blog/es/enlaces-nofollow/
- https://behind-the-scenes.net/using-nofollow-noreferrer-and-noopener-rel-attributes/
- https://ayudawp.com/la-vulnerabilidad-target_blank-la-solucion-relnoopener-noreferrer-wordpress/
- https://mathiasbynens.github.io/rel-noopener/
- https://css-tricks.com/use-target_blank/
- https://fontawesome.com/v5.15/how-to-use/on-the-web/advanced/svg-asynchronous-loading