Volver a proyectosBack to projects
Arquitectura de Base de Datos para E-commerce

PRJ.02 Bases de datosDatabases

AcadémicoAcademic

Arquitectura de Base de Datos para E-commerce

Database Architecture for E-commerce

Diseño de una base de datos para una plataforma de e-commerce multi-sucursal, resolviendo el control de stock por ubicación, pagos con criptomonedas y trazabilidad completa de compras, envíos y devoluciones.

Database design for a multi-branch e-commerce platform, solving location-aware stock control, cryptocurrency payments, and full traceability of purchases, shipments and returns.

PERÍODOPERIOD Cátedra de Base de Datos
TIPOTYPE Proyecto académicoAcademic project
STACKSTACK SQL · Modelado ER
2 niveles2 levelsde control de stockof stock control
CriptoCrypto+ medios tradicionales+ traditional methods
Multi-sucursalMulti-branchlogística y retiro en tiendalogistics & in-store pickup

Descripción del proyecto

Project description

El modelo resuelve el control de stock en dos niveles: un total global disponible en el sistema y un desglose por sucursal, de forma que las ventas online puedan consumir stock de cualquier sucursal sin perder nunca la consistencia entre la disponibilidad total y la física en cada punto. Sobre esa base, cada cliente puede asociar múltiples direcciones de envío o facturación, y el sistema conserva el historial completo de compras, pagos y devoluciones necesario para generar reportes.

La compra se modela como un recorrido desde el carrito hasta la orden: el carrito registra la intención sin reservar stock, aunque sí lo consulta para evitar ofrecer productos ya no disponibles, y al confirmarse se convierte en una orden que fija el detalle, estado y fecha de la compra. Los medios de pago cubren tanto los tradicionales (tarjetas, transferencias, billeteras virtuales) como criptomonedas, con campos específicos para estas últimas — moneda, wallet de origen y hash de transacción — necesarios para validar y auditar la operación.

En logística, cada envío registra dirección de destino, transportista y estado, contemplando incluso traslados entre sucursales cuando un pedido con retiro en tienda no tiene stock en la sucursal más cercana. El personal se organiza por roles (administración, soporte, logística) sobre una entidad de usuario común a clientes y empleados. Frente a los vacíos de la consigna original, se definieron supuestos explícitos — una única forma de pago por compra, reembolso automático ante devoluciones, lista de productos favoritos por cliente, entre otros — documentados junto con el modelo para sostener su trazabilidad.

The model solves stock control at two levels: a global total available across the system and a per-branch breakdown, so online sales can draw from any branch without ever losing consistency between total and physical availability at each location. Building on that, each customer can attach multiple shipping or billing addresses, and the system keeps the full purchase, payment and return history needed for reporting.

The purchase is modeled as a journey from cart to order: the cart records intent without reserving stock, though it does check it to avoid offering products no longer available, and upon confirmation becomes an order that fixes the purchase's detail, status and date. Payment methods cover both traditional options (cards, transfers, digital wallets) and cryptocurrency, with crypto-specific fields — currency, origin wallet and transaction hash — required to validate and audit the operation.

On the logistics side, each shipment records a destination address, carrier and status, including branch-to-branch transfers when an in-store pickup order has no stock at the nearest branch. Staff are organized by role (admin, support, logistics) over a shared user entity common to customers and employees. To address gaps in the original spec, explicit assumptions were defined — a single payment method per purchase, automatic refunds on returns, a per-customer favorites list, among others — documented alongside the model to keep it traceable.