Se desea desarrollar un carrito de compras, sabiendo que la página web ya existe, con Marca, líneas de productos, productos, sub-productos y sub-sub-productos.
Esta web ya tiene un panel de control para administrar Marcas, líneas de productos, productos, sub-productos y sub-sub-productos.
-------------------------------------
Versión de Codeigneiter
-------------------------------------
Obtenido de system/core/
CodeIgniter.php
/**
* CodeIgniter
* An open source application development framework for PHP 5.1.6 or newer
/**
* CodeIgniter Version
*
* @var string
*
*/
define('CI_VERSION', '2.2.0');
Lo que faltaría implementar es todo lo referente al carrito de compras, por ejemplo:
- El usuario anónimo (antes de finalizar la compra tendrá que registrarse)
- El usuario registrado
- El flujo de pantallas que llevará hasta la pasarela de pago (probablemente hacia el servicio de Culqi Perú)
- Panel de control (puede ser un modulo nuevo dentro del mismo panel de control existente).
A) Donde podamos visualizar número de orden / código de compra, cliente / correo), monto total, etc. Poder ingresar a la compra para ver sus detalles.
B) Filtrar por fecha de inicio y fin, estado de la compra, correo de cliente, nombre de cliente.
C) Reporte / exportar a excel el resultado de los filtros.
D) Reporte / exportar a excel el resultado de los filtros y por cada compra detallar los productos de la compra, en este caso seguramente hay columnas del excel donde se deberán repetir datos como el número de orden, cliente, ya que puede ser una compra con varios productos diferentes y para cada uno su precio respectivo.
E) Gráfico estadístico de barras de las 3 líneas de productos más vendida por cada mes, del año seleccionado (si el gráfico fuera muy extenso, seleccionar "primer trimestre", "segundo trimestre", "tercer trimestre" o "cuatro trimestre" del año seleccionado).
F) Gráfico estadístico de barras los 3 "productos - marca" más vendido por cada mes, del año seleccionado (si el gráfico fuera muy extenso, seleccionar "primer trimestre", "segundo trimestre", "tercer trimestre" o "cuatro trimestre" del año seleccionado).
G) Gráfico estadístico tipo "pie" que represente del ingreso económico total de un mes, partido en porcentajes, los 5 "productos - marca - línea de productos" que mayor ingreso dieron, mostrando también la representación económica.
Un ejemplo se encuentra aquí
https://jsfiddle.net/GastonCancino/vymkx8rb/
** La base de datos cuenta con 6 tablas que creo yo, son las más importantes para realizar esta nueva implementación:
ohm_linea (tabla totalmente independiente sin llaves foraneas hacia otra tabla)
ohm_marca (tabla totalmente independiente sin llaves foraneas hacia otra tabla)
ohm_producto (tabla totalmente independiente sin llaves foraneas hacia otra tabla)
ohm_subproducto (tabla totalmente independiente sin llaves foraneas hacia otra tabla)
ohm_sussubproducto (tabla totalmente independiente sin llaves foraneas hacia otra tabla)
ohm_relacion (tabla que contiene la relación entre la línea, la marca, el producto, el sub-producto y el sub-sub-producto)
- Se tendrá que agregar el campo "precio" a cada producto, por ello en las tablas "ohm_producto", "ohm_subproducto" y "ohm_sussubproducto", se tendrá que agregar el campo precio, pero no sé si esto sea práctico ya que con el tiempo el precio puede cambiar, por lo tanto los reportes y gráficos estadísticos de años anteriores perderían consistencia. Por favor presentenme su propia solución, a este inconveniente.
- Creo que es recomendable manejar una pequeña implementación de stock, ya que si un usuario paga por un producto que no hay en stock, la empresa podría tener problemas. Por ejemplo de repente sería suficiente colocar un nuevo campo "stock" en las tablas "ohm_producto", "ohm_subproducto" y "ohm_sussubproducto" para podre actualizar el stock en cada producto por el administrador, también que se vaya descontando con cada compra y al llegar a cero, evitar que se pueda realizar la compra.
** Si estoy olvidando algo importante en un carrito de compras, ya sea en el modelado de la BD, procesos y/o flujo del negocio, por favor indicármelo.
Delivery term: November 16, 2019