Página de gestión de ventas online.
La página web implementa un servicio de venta on-line y tiene la funcionalidad de proporcionar a los usuarios una navegación por los artículos de la página, permitir seleccionar los que quieren comprar, acumulandolos en un carrito de compra y posteriormente confirmar el pedido, eliminando esos artículos del stock de la tienda. Para todo ello sera necesario tener una cuenta con los datos de cada cliente. Hemos dividido la pagina en dos partes:
-
Parte Pública: Los usuarios podran registrarse en la tienda on-line, navegar por la lista de artículos viendo los detalles de cada uno y comentarios que otros usuarios han dejado, pudiendo el propio usuario dejar un comentario; tambien podrán añadir artículos al carrito para proceder posteriormente a la confirmación y compra del pedido.
-
Parte Privada: En este caso solo unos usuarios concretos con permisos de administrador podran acceder. Las funcionalidades que tienen son la de añadir, modificar y/o retirar artículos del stock de la tienda, asi como escribir comentarios en los artículos, pudiendo tambien modificar y/o eliminar comentarios que haya escrito cualquier otro usuario.
- Articulos: Son los diferentes productos disponibles de la pagina que los usuarios pueden comprar.
- Pedidos: Es el apartado donde cada usuario pueden consultar el historial de pedidos realizados anteriormente, descargarse las facturas, etc...
- Usuarios: Es cada una de las personas registradas en la pagina.
- Comentarios: Es un apartado en el cual cada uno de los usuarios puede opinar o aconsejar a otros usuarios basandose en su propia experiencia de compra en dicha plataforma.
- Carrito: Es un pedido provisional donde cada usuario puede añadir, modificar y eliminar cualquier producto que posteriormente quiere pagar.
Nuestra aplicación web usa un servicio interno que lleva a cabo la confirmación de la compra de un usuario mediante el envio de un correo electrónico. La dirección del destinatario donde se manda el e-mail de confirmación sera la que se especifica el usuario que realiza la compra en su registro. A su vez, en el correo electronico se especificará la dirección de correo electrónico de la tienda on-line (salewebdad@gmail.com). El servicio interno esta ompuesto de tres clases:
-
ApiRestController.java: clase controller, encargada de atender las peticiones de la aplicacion web.
-
Email.java: clase donde se define el objeto email para su uso en el controlador.
-
RestApplication.java: clase principal que ejecuta la aplicacion.
MODELO UML, MODELO ENTIDAD/RELACION (E/R), DIAGRAMA DE NAVEGACION, DIAGRAMA DE CLASES Y TEMPLATES, DIAGRAMA DE LA INFRAESTRUCTURA DE AZURE Y DESCRIPCION DE VISTAS
A continuación mostramos el modelo UML, el modelo entidad/relacion, el diagrama de navegación de la aplicación y cada una de las vistas con su correspondiente descripción:
Diagrama UML
Diagrama Entidad/Relacion
Diagrama de navegacion
Diagrama de clases y templates
Diagrama de la infraestructura de Azure
articulo_añadido.html
articulo_eliminado.html
articulo_guardado.hmtl
articuloCarritoEliminado.html
carrito.html
comentario_eliminado.html
comentario_guardado.html
loggin_usuario.html
nuevoArticulo.html
nuevoUsuario.html
pedido.html
pedido_realizado.html
principal.html
tienda.html
usuario_registrado.html
ver_articulo.html
ver_articuloCarrito.html
ver_comentario.html
-
Generar un certificado pem para acceder a la máquina virtual:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout azureus.key -out azureus-cert.pem
-
Proteger la clave privada:
chmod 0600 azureus.key
-
Crear una maquina virtual en Azure eligiendo una imagen de Ubuntu Server 14.04 y usando el certificado creado en el paso 1.
-
Acceder a la maquina virtual con un cliente ssh, usando la clave privada creada en el paso 1 y la ip publica de la maquina virtual:
ssh -i /path/to/azureus.key azureuser@<ip publica>
-
Una vez dentro de la maquina virtual, instalar OpenJDK 8 JRE con los siguientes comandos:
sudo add-apt-repository ppa:openjdk-r/ppa sudo apt-get update sudo apt-get install openjdk-8-jre
-
Instalar MySQL:
sudo apt-get update sudo apt-get install -y mysql -server
-
Crear la base de datos:
$ mysql -u root -p; mysql> create database <bbdd>; mysql> create user `<usuario>´@´%´ identified by `<bbdd>´; mysql> grant all privileges on <bbdd>.* to `usuario´@´%´; mysql> flush privileges; mysql> exit;
-
Crear el ejecutable de nuestra aplicacion, haciendo Run as > Maven Install en el STS.
-
Subir el ejecutable desde nuestro equipo a la maquina virtual:
scp -i /path/to/azureus.key aplicacion.jar azureuser@<ip publica>:/home/azureuser/
-
Acceder a la maquina virtual como ya hemos visto en el paso 4:
-
Ejecutar la aplicacion desde la maquina virtual:
java -jar aplicacion.jar
-
Acceder via web a la aplicación:
https://<ip publica>:<puerto publico>
- César Cuesta Vera: c.cuestav@alumnos.urjc.es
- Jesús Rosa Martín: j.rosa@alumnos.urjc.es
- Alvaro Gala Martinez: a.gala@alumnos.urjc.es