Skip to content

Latest commit

 

History

History
177 lines (134 loc) · 9.26 KB

File metadata and controls

177 lines (134 loc) · 9.26 KB

FDW: PROYECTO DEL SEMESTRE - SITIO WEB DE INFORMACIÓN DE PELÍCULAS

wakatime

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:

CRONOGRAMA DE HITOS

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.

MAQUETACIÓN

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:

Funcionalidades por rol

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

Pantallas

  • Administrador
    • Agregar película
    • Eliminar película
  • Usuario registrado
    • Editar perfil
  • Usuario general
    • Inicio
    • Registro
    • Login
    • Detalles de película

Diseño de la base de datos

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.

Diagrama Entidad-Relación

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.

Diagrama Entidad-Relación (más complejo de lo que implementé)

BD creada en MySQL

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.

ENUM para el rol

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"

Tablas creadas manualmente con llaves foráneas

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)
    );
  • 
    

Screenshots

Creación BD de MySQL con phpMyAdmin Creación BD de MySQL con phpMyAdmin Creación BD de MySQL con phpMyAdmin Creación BD de MySQL con phpMyAdmin Creación BD de MySQL con phpMyAdmin Creación BD de MySQL con phpMyAdmin

FUENTES CONSULTADAS

A continuación se encontrará una lista con algunas de las fuentes (las que recordé registrar) que me fueron útiles.