MultiStore – Plataforma E-commerce Multitenant para Pequeños Negocios

Captura del proyecto

Resumen

MultiStore nace como un reto técnico para dominar conceptos como la multitenencia, tareas asíncronas y configuración dinámica por cliente. El uso de Django Tenants permitió ofrecer un entorno aislado por tienda, con paneles de administración independientes, carritos de compra, creación de órdenes y contacto directo vía WhatsApp. Gracias a Celery y Redis, se implementó un sistema de tareas en segundo plano para operaciones como envío de correos electrónicos. Aunque no se ha implementado aún un sistema de pagos online, la estructura está preparada para integrarlo. El proyecto ha evolucionado más allá de lo educativo y ya se encuentra en uso comercial real. El proyecto ha trascendido su propósito inicial como herramienta de aprendizaje y se ha convertido en una plataforma real con potencial comercial. Ya se encuentra en uso por pequeños negocios, facilitando su entrada al comercio digital con herramientas potentes, personalizables y asequibles. MultiStore se posiciona como una alternativa SaaS enfocada en emprendedores que necesitan su propia tienda online, sin depender de grandes plataformas.

Tecnologías

  • Framework: Django
  • Multitenencia: Django Tenants
  • Tareas asíncronas: Celery, Redis, django-celery-beat
  • Frontend: Bootstrap, HTMX
  • Base de datos: PostgreSQL
  • Email: SMTP para envío automático de correos
  • Dominio y despliegue: VPS con Nginx y Gunicorn, configuración de múltiples dominios personalizados por tenant
  • Control de versiones: Git, GitHub

Características

  • Multitenencia con aislamiento total de datos por cliente
  • Dominio propio para cada tienda (por ejemplo: mitienda.com)
  • Panel administrativo independiente por tenant
  • Configuración personalizada por tienda (nombre, comportamiento, contacto, etc.)
  • Sistema de productos, carritos y órdenes
  • Creación automática de órdenes con detalles enviados por WhatsApp
  • Envío de correos automáticos mediante tareas en segundo plano
  • Tareas programadas usando Celery y django-celery-beat
  • Soporte para múltiples roles y autenticación
  • Experiencia ligera y responsiva para clientes y administradores

Arquitectura

El sistema está construido sobre una arquitectura multitenant basada en Django Tenants, permitiendo que cada cliente tenga su propio esquema de base de datos con aislamiento completo. Las tareas de backend como envío de correos o procesamiento de pedidos son manejadas por Celery y programadas mediante django-celery-beat, con Redis como broker. El despliegue se realiza sobre un VPS, donde se configuraron múltiples dominios personalizados para cada tenant, gestionados por Nginx. El sistema está preparado para escalar horizontalmente y soportar decenas de tiendas independientes.

Código

Código fuente no disponible públicamente. Proyecto en desarrollo comercial. Disponible para revisión bajo solicitud.

Retos

  • Comprensión y aplicación de multitenencia real con aislamiento de esquemas
  • Implementación de un sistema de administración independiente para cada tenant
  • Manejo dinámico de configuración por tienda en tiempo real Integración de tareas asíncronas y programación periódica
  • Configuración de dominios propios por cliente
  • Seguridad de datos entre tenants Pensar y desarrollar una arquitectura escalable y mantenible desde cero

Próximos pasos

  • Integración de pasarelas de pago locales como Nequi y Bancolombia
  • Mejoras en el sistema de reportes por tienda
  • Incorporación de métricas de ventas y visitas por tenant
  • Integración de dashboards visuales con gráficos interactivos
  • Soporte para múltiples idiomas y monedas
  • Implementación de un sistema de plantillas visuales para personalizar tiendas
  • Implementación de Progressive Web App (PWA) para experiencia móvil mejorada