Skip to content

Releases: AlbertoFRSauces/AplicacionTienda2022

Versión 1.0

16 May 09:24
Compare
Choose a tag to compare

Primera versión estable de la tienda.
Contenido funcional:

  1. La web contará con una cabecera y un pie común a todas las páginas que componen la aplicación (uso de includes/fragments), así como de un menú para la navegación entre las diferentes páginas de la web.
  2. Al acceder a la página inicial se mostrará el catálogo completo de productos (tabla Productos).
  3. En la página principal existirá un filtro de búsqueda de los productos del catálogo por diferentes características: búsqueda general, categoría (tabla Categorias).
  4. La tienda contará con un formulario de login, permitiendo al usuario de la aplicación logarse en todo momento (común a todos los roles).
  5. Existirán 3 roles de usuario (tabla Roles) además del rol por defecto ‘anónimo’ cuando el usuario no está logado.
  6. Si un usuario no está dado de alta, podrá registrarse en la aplicación a través del formulario correspondiente (tabla Usuarios), tomando el rol ‘cliente’ por defecto.
  7. Se simulará el proceso de compra (no es necesario enlazar con una pasarela de pago real), obligando al usuario a logarse antes de realizar el pedido (solo usuarios con el rol ‘cliente’).
  8. Los pedidos realizados (tabla Pedidos) podrán encontrarse en alguno de los siguientes estados: ‘pendiente envío’ (PE), ‘pendiente cancelación’ (PC), ‘enviado’ (E) o ‘cancelado’ (C) (campo estado).
  9. Inicialmente se dispondrá de dos métodos de pago: ‘tarjeta’ o ‘paypal’ (campo metodo_pago).
  10. Cada uno de los pedidos estará formado por varias líneas de pedido (tabla Detalles_pedido), asociadas cada una de estas a un producto y al número de unidades compradas de dicho producto.
  11. Una vez que el usuario está logado (uso de sesiones), la funcionalidad disponible, a través de las opciones del menú de la aplicación (tabla Opciones_menu), vendrá determinada por el rol de dicho usuario.

Anónimo - (Funcionalidad dependiendo del rol del usuario)

  1. Ver el catálogo de productos.
  2. Navegar a través del catálogo, pudiendo ver los detalles de los productos pinchando en cada uno de ellos desde la vista del catálogo.
  3. Añadir productos al carrito de la compra, tanto desde la vista del catálogo como desde la del detalle del producto.

Cliente - (Funcionalidad dependiendo del rol del usuario)
Además de las funciones descritas para el usuario con rol ‘anónimo’:

  1. Realizar pedido (proceso de compra).
  2. Ver historial de pedidos realizados (incluido el estado actual del pedido).
  3. Ver detalle del pedido.
  4. Cancelar pedido: podrá solicitar la cancelación total del pedido realizado (a través del historial de pedidos).
  5. Ver perfil de usuario (el suyo propio).

Empleado - (Funcionalidad dependiendo del rol del usuario)

  1. Gestionar productos (altas, actualizaciones).
  2. Gestionar clientes (altas, actualizaciones).
  3. Ver perfil de usuario (el suyo propio).
  4. Procesar pedidos: validará los pedidos de los clientes (cambio de estado del pedido de ‘pendiente envío’ a ‘enviado’).

Administrador - (Funcionalidad dependiendo del rol del usuario)
Además de las funciones descritas para el usuario con rol ‘empleado’:

  1. Gestionar productos (bajas lógicas).
  2. Gestionar clientes (bajas lógicas).
  3. Gestionar empleados (altas, actualizaciones, bajas lógicas).
  4. Procesar cancelaciones: validará las cancelaciones de los pedidos solicitadas por los clientes (cambio de estado del pedido de ‘pendiente cancelación’ a ‘cancelado’).

  1. Se creara una factura, únicamente se poblará cuando el pedido pase a estado ‘enviado’, de la misma forma que el total de la factura (tabla Pedidos).
  2. Encriptación de la contraseña: se realizará una encriptación de la clave de acceso en el proceso de alta de los usuarios.
  3. Validaciones de datos: se realizarán comprobaciones de los datos introducidos por los usuarios, tanto en el lado del cliente como en el lado del servidor (en un solo formulario).

Cliente - (Funcionalidad dependiendo del rol del usuario)

  1. Modificar perfil de usuario (el suyo propio), sin incluir la contraseña de acceso a la aplicación.
  2. Descargar factura del pedido en pdf: solo pedidos en estado ‘enviado’.

  1. Adaptación al tamaño de la pantalla (responsive): la vista será adaptable a un mínimo de 3 tamaños diferentes de pantalla (móvil, tableta y pc).
  2. Se hará uso de una plantilla de Bootstrap para la maquetación de las vistas de la aplicación.
  3. Doble validación de contraseña: tanto en el proceso de alta de los usuarios (todos los roles) como en el cambio de contraseña (rol ‘cliente’).
  4. Creación de la documentación del proyecto: diagrama de base de datos, Javadoc.

Administrador - (Funcionalidad dependiendo del rol del usuario)
Además de las funciones descritas para el usuario con rol ‘empleado’:

  1. Gestionar administradores (altas, actualizaciones, bajas lógicas): solo el usuario ‘admin’ (superadministrador).