Add files via upload

This commit is contained in:
Fernando Méndez 2021-03-16 20:04:44 +01:00 committed by GitHub
parent 35ab70f26a
commit 2e897ed52d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 216 additions and 209 deletions

View File

@ -33,58 +33,60 @@
</div>
<!-- Flow -->
<div class="code">
<h2>FLUJO DE NAVEGACIÓN</h2>
<hr>
<!-- User Flow -->
<fieldset>
<legend>Usuario</legend>
<p>
El Usuario puede tomar dos caminos a la hora de seleccionar la película, el cine, y la sesión a la que quiere asistir. La diferencia es puramente
de orden entre la elección de cine y de la película, a conveniencia del usuario; se procede a explicar ambos:
</p>
<p>
1. Selección de Cine -> Selección de Película -> Selección de Sesión -> Reserva de Butacas -> Checkout: Primero se selecciona el cine en la vista de selección
de cines en la que se encuentra un mapa y una lista con los cines de la cadena. Una vez seleccionado el cine se redirigirá al usuario a la vista de selección
de película, con el filtro del cine correspondiente activado, de forma que solo se muestren las películas disponibles en el cine seleccionado. En esa vista se
eligirá la película y la versión a ver (VO, 3D, 4DX, etc).
</p>
<p>
Una vez elegida la película, se redirigirá al usuario a la elección de sesión. Se mostrarán todas las sesiones disponibles y el usuario podrá elegir la sesión y
el número de entradas que quiere reservar, pudiendo ver el precio final de las mismas. Se le llevará a la vista de butacas en donde podrá elegir qué butacas reservar.
</p>
<p>
Una vez elegidas las butacas, el usuario procede a la página de pago, en donde rellenará los datos necesarios para pagar online. Terminada la compra con éxito, se
mostrará una pantalla de "Compra Realizada", dando al usuario la seguridad de que su reserva se ha registrado correctamente. Luego se le redirigirá a la pantalla de
inicio.
</p>
<p>
2. Selección de Película -> Selección de Cine -> Selección de Sesión -> Reserva de Butacas -> Checkout: Es idéntico al flujo anterior pero el usuario empieza eligiendo
la película, de forma que se le redirige a la vista de selección de cine, esta vez con un filtro, de forma que solo se muestran los cines que tengan sesiones activas
con la película seleccionada.
</p>
<p>
Una vez elegidos película y cine, el flujo es idéntico al anterior.
</p>
</fieldset>
<!-- Manager Flow -->
<fieldset>
<legend>Gerente</legend>
<p>
El Gerente es el encargado de gestionar las sesiones y salas de cada cine. La forma de proceder es la misma que el administrador, con vistas equivalentes.
En el caso de la gestión de salas, se administrarán los asientos disponibles (por temas de Covid-19) y si está o no habilitada para su uso.
</p>
</fieldset>
<!-- Admin Flow -->
<fieldset>
<legend>Administrador</legend>
<p>El Administrador es el encargado de gestionar las: películas, cines, promociones, otros administradores y gerentes de cada cine.</p>
<p>Para cada categoría tiene un panel en el que puede seleccionar, a partir de una lista, el elemento que quiere modificar, también hay otro panel al lado, en donde
puede modificar los datos de un elemento ya existente o crear uno nuevo introduciendo datos que no existan en la BD. También hay una opción de Eliminar en caso de que
quiera eliminar un elemento.</p>
<p>También cuenta con un botón de "Vista de Usuario", con el que puede navegar por la página con la vista que tendrá el usuario final.</p>
</fieldset>
</div>
<section id="flow">
<div class="code">
<h2>FLUJO DE NAVEGACIÓN</h2>
<hr>
<!-- User Flow -->
<fieldset>
<legend>Usuario</legend>
<p>
El Usuario puede tomar dos caminos a la hora de seleccionar la película, el cine, y la sesión a la que quiere asistir. La diferencia es puramente
de orden entre la elección de cine y de la película, a conveniencia del usuario; se procede a explicar ambos:
</p>
<p>
1. Selección de Cine -> Selección de Película -> Selección de Sesión -> Reserva de Butacas -> Checkout: Primero se selecciona el cine en la vista de selección
de cines en la que se encuentra un mapa y una lista con los cines de la cadena. Una vez seleccionado el cine se redirigirá al usuario a la vista de selección
de película, con el filtro del cine correspondiente activado, de forma que solo se muestren las películas disponibles en el cine seleccionado. En esa vista se
eligirá la película y la versión a ver (VO, 3D, 4DX, etc).
</p>
<p>
Una vez elegida la película, se redirigirá al usuario a la elección de sesión. Se mostrarán todas las sesiones disponibles y el usuario podrá elegir la sesión y
el número de entradas que quiere reservar, pudiendo ver el precio final de las mismas. Se le llevará a la vista de butacas en donde podrá elegir qué butacas reservar.
</p>
<p>
Una vez elegidas las butacas, el usuario procede a la página de pago, en donde rellenará los datos necesarios para pagar online. Terminada la compra con éxito, se
mostrará una pantalla de "Compra Realizada", dando al usuario la seguridad de que su reserva se ha registrado correctamente. Luego se le redirigirá a la pantalla de
inicio.
</p>
<p>
2. Selección de Película -> Selección de Cine -> Selección de Sesión -> Reserva de Butacas -> Checkout: Es idéntico al flujo anterior pero el usuario empieza eligiendo
la película, de forma que se le redirige a la vista de selección de cine, esta vez con un filtro, de forma que solo se muestran los cines que tengan sesiones activas
con la película seleccionada.
</p>
<p>
Una vez elegidos película y cine, el flujo es idéntico al anterior.
</p>
</fieldset>
<!-- Manager Flow -->
<fieldset>
<legend>Gerente</legend>
<p>
El Gerente es el encargado de gestionar las sesiones y salas de cada cine. La forma de proceder es la misma que el administrador, con vistas equivalentes.
En el caso de la gestión de salas, se administrarán los asientos disponibles (por temas de Covid-19) y si está o no habilitada para su uso.
</p>
</fieldset>
<!-- Admin Flow -->
<fieldset>
<legend>Administrador</legend>
<p>El Administrador es el encargado de gestionar las: películas, cines, promociones, otros administradores y gerentes de cada cine.</p>
<p>Para cada categoría tiene un panel en el que puede seleccionar, a partir de una lista, el elemento que quiere modificar, también hay otro panel al lado, en donde
puede modificar los datos de un elemento ya existente o crear uno nuevo introduciendo datos que no existan en la BD. También hay una opción de Eliminar en caso de que
quiera eliminar un elemento.</p>
<p>También cuenta con un botón de "Vista de Usuario", con el que puede navegar por la página con la vista que tendrá el usuario final.</p>
</fieldset>
</div>
</section>
<!-- Sketches -->
<section id="sketches">

View File

@ -30,86 +30,89 @@
<div class="image"><img src="../img/logo_trasparente.png" /></div>
</div>
<!-- Details -->
<div class = "code">
<h1>Detalles</h1>
<hr/>
<div class ="blockquote">
<p>
Con este proyecto buscamos la creación de una aplicación web que
gestione la cartelera de un grupo de cines con una cartelera de películas variable, unos horarios propios de cada cine por sesión y película
y unos precios determinados.
</br>
Los usuarios podrán registrarse, comprar sus entradas para una
sesión, elegir asientos, precomprar sus snacks y ver ofertas y promociones.
</p>
</div>
</div>
<!-- Rows -->
<div class ="row">
<div class="column left">
<div class = "code details">
<h2>Tipos de usuario</h2>
<hr />
<fieldset>
<legend>Usuario No Registrado</legend>
<p>
Este tipo de usuario, puede interactuar con la web sin necesidad de estar registrado. Podrá realizar compras, ver horarios y cartelera, sin necesidad de realizar ningún registro.
No podrá usar ninguna de las promociones, pues estas estarán únicamente destinadas a los usuarios registrados.
</p>
</fieldset>
<fieldset>
<legend>Usuario Registrado</legend>
<p>
Estos usuarios son aquellos que previamente han realizado un registro en la base de datos del sistema. Tendrán las mismas funcionalidades básicas
que un usuario no registrado y además, podrán acceder a ofertas y aplicar promociones y descuentos y ver el historial de sus compras.
Además, estos usuarios podrán cancelar una compra previamente hecha, pues estas se asociarían a su cuenta, algo que sería imposible
con un usuario no registrado.
</p>
</fieldset>
<fieldset>
<legend>Gerente de Cine</legend>
<p>
Un administrador de rango bajo capaz de acceder a la vista de administradores, puede ver las peliculas que hay en la base de datos.
Este usuario está asociado a un cine, sobre el cual puede añadir sesiones con peliculas existentes y modificar la disposicion de butacas.
</p>
</fieldset>
<fieldset>
<legend>Administrador</legend>
<p>
El administrador es capaz de ascender cuentas de usuario registradas a cuentas de gerente de cine. Ademas es el encargado de añadir nuevos cines y peliculas.
Para comprobar el correcto funcionamiento de la pagina podrá cambiar entre distintas vistas de usuario.
Las cuales le permitirán comprobar que cada usuario tiene acceso únicamente a sus funcionalidades y no a funcionalidades de otro rango superior.
</p>
</fieldset>
</div>
</div>
<div class="column right">
<div class = "code details">
<h1>Funcionalidad</h1>
<hr />
<section id="details">
<div class = "code">
<h1>Detalles</h1>
<hr/>
<div class ="blockquote">
<p>
La aplicación debe permitir la compra online de entradas para sesiones de cine, mostrando los cines y
horarios en los que se encuentra disponible la película seleccionada por el usuario dentro del catálogo disponible en ese momento (la cartelera).
Los usuarios podrán acceder a la compra de entradas buscando la película que desean ver y luego escogiendo un cine y horario determinado.
Además de una búsqueda específica, también se ofrecerá la posibilidad de visionar toda la cartelera, y escoger una película, horario y cine, de entre todas las posibilidades.
<p>
Una vez escogido todo, se mostrará una página en la que el usuario decidirá la o las butacas en las que se sentará. Se mostrarán butacas disponibles y butacas ocupadas (en caso de que las haya).
Antes de realizar la compra, los usuarios podrán aplicar promociones especificas que le permitan obtener algun snack en el cine o descuentos disponibles en la aplicación.
</p>
<p>
Por otro lado la aplicacion debe permitir a los gerentes y administradores visionar la lista y contenido de todas las peliculas que hay en cartelera,
siendo los administradores los encargados de modificarlas y añadir nuevas.
De igual forma, ambos podran ver todos los cines activos de la aplicacion, pero solo los administradores serán capaces de añadir o modificar cines existentes.
<p>
Cada cine tiene una cantidad de salas y sesiones con horarios específicos pora cada una de las películas.
Aunque ambos roles (administrador y gerente) pueden ver estas salas y horarios, es el gerente de cine el encargado de modificar las salas,
su disposición de butacas, modificar el horario de las sesiones y añadir nuevas sesiones, y crear promociones específicas para una sesión concreta o para el cine completo.
Todo esto unicamente para el cine con el cual esta relacionado.
Con este proyecto buscamos la creación de una aplicación web que
gestione la cartelera de un grupo de cines con una cartelera de películas variable, unos horarios propios de cada cine por sesión y película
y unos precios determinados.
</br>
Los usuarios podrán registrarse, comprar sus entradas para una
sesión, elegir asientos, precomprar sus snacks y ver ofertas y promociones.
</p>
</div>
</div>
</div>
</section>
<!-- User and Functionalities -->
<section id="user_functionalities">
<div class ="row">
<div class="column left">
<div class = "code details">
<h2>Tipos de usuario</h2>
<hr />
<fieldset>
<legend>Usuario No Registrado</legend>
<p>
Este tipo de usuario, puede interactuar con la web sin necesidad de estar registrado. Podrá realizar compras, ver horarios y cartelera, sin necesidad de realizar ningún registro.
No podrá usar ninguna de las promociones, pues estas estarán únicamente destinadas a los usuarios registrados.
</p>
</fieldset>
<fieldset>
<legend>Usuario Registrado</legend>
<p>
Estos usuarios son aquellos que previamente han realizado un registro en la base de datos del sistema. Tendrán las mismas funcionalidades básicas
que un usuario no registrado y además, podrán acceder a ofertas y aplicar promociones y descuentos y ver el historial de sus compras.
Además, estos usuarios podrán cancelar una compra previamente hecha, pues estas se asociarían a su cuenta, algo que sería imposible
con un usuario no registrado.
</p>
</fieldset>
<fieldset>
<legend>Gerente de Cine</legend>
<p>
Un administrador de rango bajo capaz de acceder a la vista de administradores, puede ver las peliculas que hay en la base de datos.
Este usuario está asociado a un cine, sobre el cual puede añadir sesiones con peliculas existentes y modificar la disposicion de butacas.
</p>
</fieldset>
<fieldset>
<legend>Administrador</legend>
<p>
El administrador es capaz de ascender cuentas de usuario registradas a cuentas de gerente de cine. Ademas es el encargado de añadir nuevos cines y peliculas.
Para comprobar el correcto funcionamiento de la pagina podrá cambiar entre distintas vistas de usuario.
Las cuales le permitirán comprobar que cada usuario tiene acceso únicamente a sus funcionalidades y no a funcionalidades de otro rango superior.
</p>
</fieldset>
</div>
</div>
<div class="column right">
<div class = "code details">
<h1>Funcionalidad</h1>
<hr />
<p>
La aplicación debe permitir la compra online de entradas para sesiones de cine, mostrando los cines y
horarios en los que se encuentra disponible la película seleccionada por el usuario dentro del catálogo disponible en ese momento (la cartelera).
Los usuarios podrán acceder a la compra de entradas buscando la película que desean ver y luego escogiendo un cine y horario determinado.
Además de una búsqueda específica, también se ofrecerá la posibilidad de visionar toda la cartelera, y escoger una película, horario y cine, de entre todas las posibilidades.
<p>
Una vez escogido todo, se mostrará una página en la que el usuario decidirá la o las butacas en las que se sentará. Se mostrarán butacas disponibles y butacas ocupadas (en caso de que las haya).
Antes de realizar la compra, los usuarios podrán aplicar promociones especificas que le permitan obtener algun snack en el cine o descuentos disponibles en la aplicación.
</p>
<p>
Por otro lado la aplicacion debe permitir a los gerentes y administradores visionar la lista y contenido de todas las peliculas que hay en cartelera,
siendo los administradores los encargados de modificarlas y añadir nuevas.
De igual forma, ambos podran ver todos los cines activos de la aplicacion, pero solo los administradores serán capaces de añadir o modificar cines existentes.
<p>
Cada cine tiene una cantidad de salas y sesiones con horarios específicos pora cada una de las películas.
Aunque ambos roles (administrador y gerente) pueden ver estas salas y horarios, es el gerente de cine el encargado de modificar las salas,
su disposición de butacas, modificar el horario de las sesiones y añadir nuevas sesiones, y crear promociones específicas para una sesión concreta o para el cine completo.
Todo esto unicamente para el cine con el cual esta relacionado.
</p>
</div>
</div>
</div>
</section>
<!-- Footer -->
<footer>
<div class="footer">

View File

@ -69,101 +69,103 @@
</div>
<!-- Members -->
<div class="row">
<div class="column side">
<!-- Marco Esposito -->
<section id="MEP">
<div class="zoom">
<div class="code">
<img src="../img/mep.jpg" />
<p>~ Marco Expósito Pérez (marcoexp@ucm.es)</p>
<div class="blockquote bio">
<p>Aficionado a todo tipo de videojuegos, principalmente la saga Zelda. Tambien me gusta leer tanto literatura fantastica como mangas y veo anime asiduamente.</p>
<p>En verano suelo participar en campeonatos de pesca subacuatica y tambien me gusta bastante jugar al futbol federado, aunque hace un tiempillo ya que no hago.</p>
<section id="members">
<div class="row">
<div class="column side">
<!-- Marco Esposito -->
<section id="MEP">
<div class="zoom">
<div class="code">
<img src="../img/mep.jpg" />
<p>~ Marco Expósito Pérez (marcoexp@ucm.es)</p>
<div class="blockquote bio">
<p>Aficionado a todo tipo de videojuegos, principalmente la saga Zelda. Tambien me gusta leer tanto literatura fantastica como mangas y veo anime asiduamente.</p>
<p>En verano suelo participar en campeonatos de pesca subacuatica y tambien me gusta bastante jugar al futbol federado, aunque hace un tiempillo ya que no hago.</p>
</div>
</div>
</div>
</div>
</section>
</div>
<div class="column middle">
<!-- Fernando Méndez -->
<section id="FMT">
<div class="zoom">
<div class="code">
<img src="../img/fmt.jpg" />
<p>~ Fernando Méndez (fernmend@ucm.es)</p>
<div class="blockquote bio">
<p>Estudiante de Ingeniería de Computadores en la Universidad Complutense de Madrid.</p>
<p>Presidente de la asociación Diskobolo. Colaborador de la Oficina de Sotfware Libre de la UCM y coordinador del grupo de Hacking Ético de la FDI.</p>
</section>
</div>
<div class="column middle">
<!-- Fernando Méndez -->
<section id="FMT">
<div class="zoom">
<div class="code">
<img src="../img/fmt.jpg" />
<p>~ Fernando Méndez (fernmend@ucm.es)</p>
<div class="blockquote bio">
<p>Estudiante de Ingeniería de Computadores en la Universidad Complutense de Madrid.</p>
<p>Presidente de la asociación Diskobolo. Colaborador de la Oficina de Sotfware Libre de la UCM y coordinador del grupo de Hacking Ético de la FDI.</p>
</div>
</div>
</div>
</div>
</section>
</div>
<div class="column side">
<!-- Daniel Muñoz -->
<section id="DMG">
<div class="zoom">
<div class="code">
<img src="../img/dmg.jpg" />
<p>~ Daniel Muñoz García (danimu03@ucm.es)</p>
<div class="blockquote bio">
<p>Estudiante del grado en ingeniería informática en la Universidad Complutense de Madrid. Aficionado a la ciberseguridad y las nuevas tecnologías.</p>
<p>Especializado en el diseño y gestión de bases de datos, tanto SQL como noSQL, y su desarrollo con distintos lenguajes como MongoDB o MySQL.</p>
</section>
</div>
<div class="column side">
<!-- Daniel Muñoz -->
<section id="DMG">
<div class="zoom">
<div class="code">
<img src="../img/dmg.jpg" />
<p>~ Daniel Muñoz García (danimu03@ucm.es)</p>
<div class="blockquote bio">
<p>Estudiante del grado en ingeniería informática en la Universidad Complutense de Madrid. Aficionado a la ciberseguridad y las nuevas tecnologías.</p>
<p>Especializado en el diseño y gestión de bases de datos, tanto SQL como noSQL, y su desarrollo con distintos lenguajes como MongoDB o MySQL.</p>
</div>
</div>
</div>
</div>
</section>
</section>
</div>
</div>
</div>
<div class="row">
<div class="column side">
<!-- Ioan Marian -->
<section id="IMT">
<div class="zoom">
<div class="code">
<img src="../img/imt.jpg" />
<p>~ Ioan Marian Tulai (ioantula@ucm.es)</p>
<div class="blockquote bio">
<p>Estudiante con mucha ilusion y ganas de trabajar especialista en hardware.</p>
<p>Alta experiencia programando en C, gran interés en aprender nuevos lenguajes de programación y aficionado a dibujar.</p>
<div class="row">
<div class="column side">
<!-- Ioan Marian -->
<section id="IMT">
<div class="zoom">
<div class="code">
<img src="../img/imt.jpg" />
<p>~ Ioan Marian Tulai (ioantula@ucm.es)</p>
<div class="blockquote bio">
<p>Estudiante con mucha ilusion y ganas de trabajar especialista en hardware.</p>
<p>Alta experiencia programando en C, gran interés en aprender nuevos lenguajes de programación y aficionado a dibujar.</p>
</div>
</div>
</div>
</div>
</section>
</div>
<div class="column middle">
<!-- Óscar Ruiz -->
<section id="ORP">
<div class="zoom">
<div class="code">
<img src="../img/orp.jpg" />
<p>~ Óscar Ruiz de Pedro (oscarrui@ucm.es)</p>
<div class="blockquote bio">
<p>Estudiante de ingeniería de computadores en la Universidad Complutense de Madrid.</p>
<p>Altas capacidades de programación en bajo nivel, me gustaría aprender más sobre el ámbito de la robótica.</p>
<p>Aficionado a todo tipo de videojuegos, impresión 3D, teatro y airsoft.</p>
</section>
</div>
<div class="column middle">
<!-- Óscar Ruiz -->
<section id="ORP">
<div class="zoom">
<div class="code">
<img src="../img/orp.jpg" />
<p>~ Óscar Ruiz de Pedro (oscarrui@ucm.es)</p>
<div class="blockquote bio">
<p>Estudiante de ingeniería de computadores en la Universidad Complutense de Madrid.</p>
<p>Altas capacidades de programación en bajo nivel, me gustaría aprender más sobre el ámbito de la robótica.</p>
<p>Aficionado a todo tipo de videojuegos, impresión 3D, teatro y airsoft.</p>
</div>
</div>
</div>
</div>
</section>
</div>
<div class="column side">
<!-- Adrian Real -->
<section id="ARN">
<div class="zoom">
<div class="code">
<img src="../img/arn.jpg" />
<p>~ Adrian Real del Noval (adrireal@ucm.es)</p>
<div class="blockquote bio">
<p>Estudiante de 3er año de Ingeniería de Computadores en la Universidad Complutense de Madrid.</p>
<p>Las áreas en las que tiene mayor interés son la electrónica, las GPUs, y los sistemas empotrados.</p>
</section>
</div>
<div class="column side">
<!-- Adrian Real -->
<section id="ARN">
<div class="zoom">
<div class="code">
<img src="../img/arn.jpg" />
<p>~ Adrian Real del Noval (adrireal@ucm.es)</p>
<div class="blockquote bio">
<p>Estudiante de 3er año de Ingeniería de Computadores en la Universidad Complutense de Madrid.</p>
<p>Las áreas en las que tiene mayor interés son la electrónica, las GPUs, y los sistemas empotrados.</p>
</div>
</div>
</div>
</div>
</section>
</section>
</div>
</div>
</div>
</section>
<!-- Footer -->