Se realizará el modelado y desarrollo de un sistema de compras tipo carrito web para venta de PACKS de viandas .
En esta primera parte se hará lo referente a un MODELADO INICIAL y, en próximas entradas del blog, se harán revisiones al mismo(si correspondiese) y luego se dejaran características de la IMPLEMENTACIÓN y el link a GITHUB con la misma.
Modelado primera parte:
-DER CONCEPTUAL
-TRANSFORMACIÓN AL DER LÓGICO
-DER LÓGICO- NOTACIÓN MARTIN
-CREACIÓN DE TABLAS EN SQL (mostrar el script del DDL)
-DIAGRAMA GENERADO EN SQL
-DIAGRAMA DE CLASES
+BE (Business Entities)
+BLL (Business Logical Layer)
-CASO DE USO CU01 COMPRAR CARRITO :
+DIAGRAMA DEL CASO DE USO CU01 Comprar Carrito
+DSS. DIAGRAMA DE SECUENCIA DEL SISTEMA DEL CU01 (Análisis)
+DS. DIAGRAMA DE SECUENCIA DEL CU01 (Diseño - con objetos software)
Enunciado:
Se requiere de un sistema web para la venta de productos mediante carrito de compra.
Un cliente puede tener un único carrito actual. Una vez que realiza la compra... se guarda el carrito del cliente en un historial. La próxima vez habrá un nuevo carrito para dicho cliente.
Cada carrito puede tener uno o mas packs. Cada pack tiene un nombre, un stock, y puede contener varias viandas. Además, cada pack tiene un precio (equivalente a la suma total del precio de las viandas que involucra)
De cada vianda se registra descripción, cantidad, precio_vianda. No se puede adquirir viandas individuales. Solo se comercializan packs.
Del cliente se registra un id, el mail (necesario para el login), nombre, apellido, clave, marca de restablecer, marca de habilitado.
Para implementar en el sistema:
*La lógica del Registro. A continuación se muestra la especificación del CU02-Registrar Usuario.
Caso de Uso- CU02- Registrar Usuario- Especificación del CU:
-El sistema muestra una interfaz "Registro- Primer Paso" solicitando el ingreso de email.
-El usuario ingresa su email.
-El usuario hace click en "Recibir Clave de Acceso".
-El sistema envía una clave de acceso (código) al email del usuario.
-El sistema muestra una interfaz "Registro- Segundo y Último Paso" en donde el usuario debe ingresar: nombre, primer apellido, segundo apellido (si posee), email, clave de acceso recibida por email, contraseña, confirmación de contraseña.
-El sistema valida los datos.
-El sistema muestra la interfaz de Login para que el usuario inicie sesión.
-----------------------------------------------------------------------------------------------------------------
*Consumir la API de Paypal (Rest APIs)-
Métodos de la API de paypal a consumir:
Orders:
*Create Order: se crea la orden, paypal devuelve un ID de la orden generada y un TOKEN en la URL. El TOKEN es utilizado en la próxima petición de Capture Order.
POST/v2/checkout/orders
*Capture Order: al llamar a este metodo, en la URL se ingresa el TOKEN (id) recibido por paypal. Este método "captura" el pago.
POST/v2/checkout/orders/{id}/capture
----------
Invoicing:
*Create draft Invoice: se crea una factura borrador para enviar por mail al cliente y al facturador(si se desea).
POST/v2/invoicing/invoices
*Send Invoice: se envia la factura previamente creada en borrador. El metodo anterior nos devuelve una URL con el parámetro del ID de la factura. Este ID es necesario para pasarlo en la URL correspondiente a Send Invoice.
POST/v2/invoicing/invoices/{invoice_id}/send
Nota: para mayor información, se puede leer la documentación oficial de Paypal en :
https://developer.paypal.com/api/rest/
*Los clientes pueden abonar via Paypal: con el saldo disponible en su cuenta de Paypal o con tarjeta de crédito.
*Los clientes reciben por mail la factura con el detalle de su pedido. La factura discrimina un porcentaje de impuesto de IVA 21% pero, sin embargo, por políticas de la Tienda se lo reintegra en un descuento hecho para el cliente por el mismo porcentaje (21%).
De este modo, lo que el cliente ve en la interfaz de la app como "Total", es el mismo monto total que aparece en la factura que le llega por mail.
-------------------------------------------------------------------------------------------------------------------
Módulos:
*Admin:
-Mantenimiento
+Clientes
+Viandas
+Packs
*Tienda
-Utilidades
+Ver Packs: cada pack se muestra con una "tarjeta" en la interfaz en donde se observa su nombre, precio , un botón de "agregar al carrito" y otro de "ver detalle".
+Ir a carrito: el cliente va a su carrito en donde se observan los packs agregados. Además, aquí puede agregar cantidad a los productos elegidos (tener en cuenta si se cuenta con stock).
-DER CONCEPTUAL

-TRANSFORMACIÓN AL DER LÓGICO
-DER LÓGICO- NOTACIÓN MARTIN
-CREACIÓN DE TABLAS EN SQL

-DIAGRAMA GENERADO EN SQL
-DIAGRAMAS DE CLASES
+ BE: Business entities

+ BLL: Business Logical Layer
- DIAGRAMA DE CASO DE USO CU01. COMPRAR CARRITO
- DSS. DIAGRAMA DE SECUENCIA DEL SISTEMA DEL CU01. COMPRAR CARRITO (Análisis)
- DS. DIAGRAMA DE SECUENCIA DEL CU01. COMPRAR CARRITO (Diseño)