SaaSDragon: Plantilla SaaS Multi-Tenant PHP MySQL

SaaSDragon es una plantilla base para construir productos SaaS multi-tenant en PHP, orientada por completo a resolver lo que cualquier software como servicio necesita antes de mostrar su primera pantalla de valor: registro de empresas, roles, planes y un panel administrativo funcional.

Permite organizar el registro de empresas (tenants), la gestión de equipo, la configuración por cliente y las suscripciones de manera centralizada, con el aislamiento de datos resuelto desde la capa de servicio y no solo desde la interfaz.

Landing page inicial editable de la SaaSDragon plantilla Saas
Landing page inicial editable de la SaaSDragon plantilla Saas

Es la herramienta ideal para desarrolladores y agencias que arrancan un proyecto SaaS y no quieren reconstruir la misma base de auth y tenancy en cada cliente nuevo.

El sistema está diseñado como punto de partida ágil para levantar el esqueleto completo de un SaaS, ya sea en un entorno local o en un servidor de producción.

A diferencia de la versión Pro, esta edición base se enfoca en el multi-tenancy esencial, los tres roles (Admin/Owner/Member) y suscripciones ficticias sin pasarela de pago real.

Disponible de forma gratuita y open source, construido sobre LegoBox v5 (el micro-framework PHP de Evilnapsis) y PHP 8, sin dependencias de Node ni build step.

Ver SaaSDragon Pro — $99 USD →

¿Para quién es SaaSDragon?

  • Desarrolladores y agencias que arrancan un proyecto SaaS y necesitan una base multi-tenant ya resuelta en vez de reconstruirla en cada cliente.
  • Founders técnicos que quieren validar un modelo de suscripciones sin conectar todavía una pasarela de pago real.
  • Equipos que ya usan LegoBox en otros proyectos y buscan la misma lógica de programación aplicada a un SaaS.
  • Estudiantes y desarrolladores que quieren entender cómo se resuelve el aislamiento de datos entre clientes (multi-tenancy) en un sistema PHP real.

Video demostrativo

En el siguiente video puedes ver como usar SaasDragon.

Módulos del sistema

Autenticación y Registro Multi-Tenant: Login, logout y registro público que crea la empresa, su usuario owner y una suscripción de prueba en una sola transacción. Contraseñas con Bcrypt y migración transparente de hashes legados.

Roles y Permisos: Tres niveles definidos — Admin de plataforma, Owner por empresa y Member invitado — cada uno con su alcance de acceso ya resuelto en los controllers.

Planes y Suscripciones: Página de precios pública que pasa el plan elegido al registro; el owner puede renovar la suscripción (+30 días) desde el dashboard, sin pasarela de pago real conectada.

Gestión de Equipo: El owner (o el admin de plataforma) da de alta usuarios member de su empresa y los elimina, con el owner protegido contra su propia eliminación.

Configuración por Empresa: Cada tenant administra su propio nombre visible, correo de soporte e idioma, sembrados por defecto al registrarse.

Módulo de Referencia (Personas): CRUD completo con endpoint JSON y aislamiento por tenant, pensado como plantilla para construir tus propios módulos siguiendo el mismo patrón.

Multi-tenancy y roles

El aislamiento entre clientes es la parte que más tiempo consume resolver bien en un SaaS, y es donde SaaSDragon pone más esfuerzo:

RolAlcance
Admin (plataforma)Ve y gestiona los datos de todas las empresas registradas
OwnerDueño de su empresa, creado al registrarse. Accede a Equipo, Configuración y renovación
MemberInvitado por el owner, solo ve los datos de su propia empresa

El filtro por empresa se aplica en la capa de servicio (App\Service), no solo ocultando enlaces en la interfaz: acceder por URL directa a un registro de otra empresa devuelve “no encontrado”, nunca el dato ajeno.

En la edición Pro este control se extiende con roles RBAC de permisos granulares en vez de los tres niveles fijos de la base.

Capturas de Pantalla

Pagina inicial del dashboard

Pagina inicial o Dashbard de SaasDragon Plataforma/Plantilla Saas
Pagina inicial o Dashbard de SaasDragon Plataforma/Plantilla Saas

Datos Técnicos

CaracterísticaDetalle
LenguajePHP 8.x (Micro-framework LegoBox v5)
Base de DatosMySQL / MariaDB
Motor de plantillasTwig 3
EnrutadorFastRoute
UI públicaBootstrap 5
UI administrativaCoreUI Free Bootstrap Admin Template
ArquitecturaMVC + capa de servicio (App\Service)
Multi-tenancyAislamiento por company_id en la capa de servicio
ServidorApache (XAMPP, WAMP o hosting)
LicenciaOpen Source
Versión actualv5 del framework LegoBox base

Instalación rápida

  1. Clona el repositorio dentro de tu servidor web (por ejemplo, C:\xampp\htdocs\saasdragon).
  2. Instala las dependencias con Composer: composer install.
  3. Importa el esquema: mysql -u root < schema.sql — esto crea la base saasdragon, las tablas y siembra 3 planes (Free/Pro/Enterprise), una empresa demo y un usuario admin de plataforma.
  4. Configura las credenciales de conexión en core/controller/Database.php si no usas root sin contraseña en local.
  5. Accede desde tu navegador a http://localhost/saasdragon/.
  6. Entra con las credenciales por defecto (admin / admin) y cámbialas de inmediato por seguridad.

Cómo agregar tu propio módulo

Siguiendo el mismo patrón del módulo Personas:

  1. Modelo en core/app/model/ que extienda LbModel.
  2. Servicio en core/app/service/ con la lógica de negocio, filtrando por company_id si el dato es por tenant.
  3. Controller que extienda Controller, con currentCompanyId(), isRoot() y requireRoleId([...]) ya disponibles.
  4. Rutas nuevas en core/routes.php y el handler sumado en index.php.
  5. Vistas en Twig, extendiendo el layout público o el administrativo según corresponda.
  6. El require_once del controller en core/app/autoload.php.

Antes de llevarlo a producción

  • No incluye pasarela de pago real — los planes y renovaciones son ficticios por diseño, para que decidas con qué proveedor conectarlo (o pases directamente a Pro, que ya integra Stripe).
  • El formulario de contacto no envía correo ni persiste el mensaje todavía, es un placeholder.
  • No hay protección CSRF en los formularios por el momento.
  • Los textos de Términos y Privacidad son de ejemplo, no asesoría legal.

Descarga

Repositorio GitHub: github.com/evilnapsis/saasdragon

Descarga directa: github.com/evilnapsis/saasdragon/archive/refs/heads/master.zip

¿Necesitas más funcionalidades?

SaaSDragon Pro es la versión premium para equipos que van a llevar su SaaS a producción real, con autenticación completa, pagos con Stripe y herramientas para construir más rápido sin tocar código:

CaracterísticaBase (Gratis)SaaSDragon Pro
Registro y Roles Multi-Tenant (Admin/Owner/Member)
Autenticación (login, registro)
Recuperación de contraseña
Login Social (Google)
Roles RBAC (permisos granulares)
Suscripciones y Pagos con Stripe (flat-rate, per-seat, usage-based, one-time)
Notificaciones (in-app y email)
Page Builder
Entity Builder (CRUD + API autogenerados para entidades personalizadas)

SaaSDragon Pro = $99 USD

Ver SaaSDragon Pro →

Mas Recursos

SaaSDragon está construido sobre LegoBox v5, el micro-framework PHP de Evilnapsis.

Si quieres entender cómo funciona por dentro antes de extender tu SaaS, puedes leer el artículo completo sobre LegoBox PHP →

Leave a Reply

Your email address will not be published. Required fields are marked *

Discover more from Evilnapsis

Subscribe now to keep reading and get access to the full archive.

Continue reading