ApisKit: Starter Kit SaaS y módulos reutilizables para Next.js
Starter kit SaaS y módulos de código fuente para Next.js, Firebase y Stripe. Incluye SaaS Platform, Support Kit y una suite propia de verificadores.

Galería del Proyecto












Tecnologías Utilizadas
Sobre el Proyecto
¿Qué es ApisKit?
ApisKit es un starter kit SaaS y una colección de módulos reutilizables de código fuente para desarrollar aplicaciones con Next.js, Firebase y Stripe sin volver a construir desde cero la infraestructura común de un SaaS.
El proyecto reúne tres piezas principales:
| ApisKit SaaS Platform | ApisKit Support Kit | La suite de verificadores de ApisKit |
|---|---|---|
| La plataforma SaaS completa. | Un sistema de tickets y soporte que puede utilizarse como módulo independiente. | Un sistema propio de controles automatizados diseñado para convertir reglas de calidad, arquitectura y ejecución en comprobaciones repetibles. |
La demo pública permite probar la plataforma funcionando. Lo que se comercializa y entrega al comprador es código fuente descargable.
SaaS Platform
ApisKit SaaS Platform proporciona una base completa sobre la que construir el dominio específico de un nuevo producto.
Incluye:
| Funcionalidad | Funcionalidad |
|---|---|
| registro e inicio de sesión | verificación de correo |
| recuperación de contraseña | sesiones y rutas protegidas |
| Firebase Authentication | Firestore |
| Firebase Storage | Stripe Checkout |
| webhooks firmados | sistema de créditos |
| libro de movimientos | panel de usuario |
| panel de administración protegido por roles | gestión de usuarios |
| gestión de créditos | sistema de soporte integrado |
| respuestas y adjuntos | emails transaccionales |
| interfaz en español e inglés | SEO y datos estructurados |
| páginas legales de muestra | arquitectura hexagonal |
| tests unitarios, de integración y de navegador | sistema automatizado de verificadores |
| reglas e índices de Firebase | documentación de adaptación, instalación y despliegue |
La versión comercial v1.0.0 contiene 353 archivos.
Adaptación del producto
La identidad se centraliza en src/config/product.ts.
ApisKit incluye el comando npm run init-product para modificar nombre, slug, empresa, URL y correo de soporte sin tener que recorrer manualmente toda la aplicación.
| Configuración | Configuración |
|---|---|
| Los colores utilizan tokens globales. | Los textos se mantienen separados en español e inglés. |
| La propia suite de verificación comprueba que ambos idiomas permanezcan sincronizados. |
Support Kit
ApisKit Support Kit extrae el sistema de soporte como una pieza independiente para aplicaciones Next.js y Firebase.
Incluye:
| Funcionalidad | Funcionalidad |
|---|---|
| creación de tickets | categorías configurables |
| diagnóstico automático | escalado |
| respuestas en conversación | adjuntos |
| estados | vista del usuario |
| bandeja administrativa | detalle y acciones desde administración |
| emails de confirmación, escalado y respuesta | traducciones ES/EN |
| rutas API | comprobación de índices de Firestore |
| contrato de integración documentado |
La versión comercial v1.0.0 contiene 37 archivos.
El módulo no necesita conocer todos los detalles internos de la aplicación donde se instala. Su contrato define las capacidades externas que necesita: autenticación, Firestore y Storage, infraestructura de email, internacionalización e identidad del producto.
Suite de verificadores de ApisKit
Los verificadores son una pieza propia de ApisKit, no una comprobación decorativa añadida al final del desarrollo.
npm run verify:all actúa como una única puerta de calidad. El catálogo comercial v1.0.0 ejecuta 16 comprobaciones:
| Nº | Comprobación | Nº | Comprobación |
|---|---|---|---|
| 1 | calidad de código | 9 | ESLint |
| 2 | manejo de errores | 10 | código duplicado |
| 3 | seguridad en ejecución | 11 | pruebas unitarias |
| 4 | consistencia de tipos | 12 | vulnerabilidades conocidas en dependencias |
| 5 | integridad y simetría ES/EN | 13 | índices reales de administración en Firestore |
| 6 | colores del sistema de temas | 14 | índices reales del sistema de soporte |
| 7 | compilación de producción | 15 | pruebas de integración |
| 8 | TypeScript | 16 | recorridos completos con Playwright |
El sistema no se detiene al encontrar el primer fallo. Ejecuta el catálogo y devuelve un parte completo.
Tampoco presenta una comprobación como correcta si no se ha ejecutado. Cuando una prueba necesita credenciales o un entorno externo que no está disponible, se identifica expresamente como OMITIDA.
Los verificadores están escritos como scripts tsx autocontenidos y pueden reutilizarse fuera del dominio funcional concreto de ApisKit.
Arquitectura hexagonal
ApisKit utiliza arquitectura de puertos y adaptadores.
| Componente | Función |
|---|---|
core/ | contiene el dominio y sus contratos sin depender de Next.js, Firebase, Stripe o React. |
| Adaptadores | los proveedores externos se implementan mediante adaptadores y la aplicación realiza el cableado entre las distintas capas. |
Esta separación permite cambiar proveedores, adaptar el producto y extraer módulos sin mezclar la lógica de negocio con infraestructura concreta.
Qué recibe el comprador
| Entrega | Detalle |
|---|---|
| Paquetes comerciales | se generan desde la rama limpia main. |
Rama demo | utilizada para enseñar ApisKit en funcionamiento, no forma parte de las descargas. |
| ZIP comerciales | incluyen código fuente, configuración, tests, verificadores y documentación. |
| Comprobación final | antes de dejar una versión disponible para venta se comprueba también el paquete final generado. |
Consulta la documentación completa de ApisKit para conocer la plataforma, su arquitectura, instalación, soporte, verificadores y adaptación a otros productos.
Demo y compra
Demo en funcionamiento
La demo permite comprobar desde dentro cuentas, créditos, administración y soporte antes de comprar.
| Producto | Precio | Modalidad | Enlace |
|---|---|---|---|
| SaaS Platform | 279 € | pago único · código fuente descargable | Comprar ApisKit SaaS Platform |
| Support Kit | 79 € | pago único · código fuente descargable | Comprar ApisKit Support Kit |
Qué debe configurar cada proyecto
ApisKit entrega la infraestructura, pero el comprador configura para su propio producto:
| Configuración | Configuración |
|---|---|
| proyecto y credenciales de Firebase | productos y claves de Stripe |
| proveedor de email | secretos de entorno |
| nombre, dominio e identidad | colores e imágenes |
| textos | categorías de soporte |
| precios y modelo de consumo | textos legales adaptados a su negocio y jurisdicción |
La finalidad de ApisKit no es ocultar estas decisiones, sino evitar reconstruir toda la infraestructura que las rodea.
Información Técnica
apiskit-starter-kit-saas-modulos-nextjs
DceroQ2hmhZShjAKj9dq
Documentación Específica del Proyecto
ApisKit SaaS Platform conecta en una misma base la infraestructura que aparece de forma repetida en aplicaciones SaaS.
Cuenta y autenticación
| Funcionalidad | Funcionalidad |
|---|---|
| Firebase Authentication. | Registro. |
| Inicio de sesión. | Verificación de correo. |
| Recuperación de contraseña. | Sesiones. |
| Rutas protegidas. |
Pagos y créditos
| Funcionalidad | Funcionalidad |
|---|---|
| Stripe Checkout. | Webhook firmado en /api/webhook. |
| Procesamiento idempotente. | Packs de créditos configurables. |
| Wallet. | Libro de movimientos. |
| Consumo genérico de créditos por acción. |
Administración
| Funcionalidad | Funcionalidad |
|---|---|
| Acceso por rol. | Gestión de usuarios. |
| Gestión de soporte. | Gestión de créditos. |
Soporte integrado
| Funcionalidad | Funcionalidad |
|---|---|
| Tickets. | Categorías. |
| Respuestas. | Estados. |
| Adjuntos. | Emails. |
Internacionalización
La interfaz, los emails y los textos del sistema se mantienen en español e inglés.
El verificador de i18n comprueba tanto la simetría entre ambos idiomas como la existencia de las claves utilizadas por el código.
Consulta la documentación completa de ApisKit para ver la plataforma, su funcionamiento y todas sus partes.
Support Kit separa el sistema de soporte de ApisKit para poder utilizarlo también como módulo independiente.
El flujo cubre usuario y administración:
| Paso | Acción |
|---|---|
| 1 | el usuario selecciona una categoría; |
| 2 | el sistema puede realizar un diagnóstico inicial; |
| 3 | el problema puede escalarse a ticket; |
| 4 | el usuario consulta sus tickets; |
| 5 | usuario y administración responden dentro del mismo hilo; |
| 6 | se pueden adjuntar archivos; |
| 7 | el ticket mantiene su estado; |
| 8 | las partes reciben las notificaciones correspondientes. |
El módulo documenta cinco capacidades que debe proporcionar la aplicación anfitriona:
| Capacidad | Capacidad |
|---|---|
| autenticación; | Firestore y Storage; |
| infraestructura de email; | i18n; |
| identidad del producto. |
La versión comercial v1.0.0 se entrega como un paquete independiente de 37 archivos.
Consulta la documentación del sistema de soporte para ver su funcionamiento, integración y flujo completo.
Los verificadores de ApisKit convierten reglas del proyecto en comprobaciones ejecutables.
El punto de entrada es:
npm run verify:all
La versión comercial v1.0.0 reúne 16 controles:
| Nº | Control | Nº | Control |
|---|---|---|---|
| 1 | calidad de código; | 9 | ESLint; |
| 2 | manejo de errores; | 10 | duplicación; |
| 3 | seguridad en ejecución; | 11 | pruebas unitarias; |
| 4 | consistencia de tipos; | 12 | auditoría de vulnerabilidades; |
| 5 | i18n ES/EN; | 13 | índices de administración en Firestore; |
| 6 | colores del tema; | 14 | índices de soporte en Firestore; |
| 7 | compilación de producción; | 15 | pruebas de integración; |
| 8 | TypeScript; | 16 | recorridos completos con Playwright. |
No se detiene en el primer error
A diferencia de una cadena de comandos que termina al encontrar el primer fallo, el orquestador ejecuta todo el catálogo y presenta un único parte final.
Una prueba no ejecutada no cuenta como aprobada
Si una comprobación necesita credenciales o un servidor que no está disponible, aparece como OMITIDA.
No se convierte la ausencia de evidencia en un resultado correcto.
Comprobaciones sobre sistemas reales
Los verificadores de índices no se limitan a leer un archivo de configuración y asumir que el índice existe.
Ejecutan las consultas que necesita la aplicación y detectan si Firestore todavía no dispone de la infraestructura requerida.
Reutilización
Los verificadores están implementados como scripts tsx autocontenidos.
Su función no depende del dominio concreto que se construya encima de ApisKit, lo que permite reutilizarlos y adaptarlos a otros repositorios.
Consulta la documentación de los verificadores para ver qué comprueba cada control y cómo funciona la puerta de calidad.
ApisKit aplica una arquitectura hexagonal para separar reglas de negocio, infraestructura y presentación.
| Capa | Función |
|---|---|
| Core | Contiene entidades y contratos. No depende de Next.js, Firebase, Stripe ni React. |
| Adapters | Implementan los contratos definidos por el core contra proveedores reales. |
| App | Contiene el cableado de Next.js, las rutas y las APIs. |
| Presentation | Contiene los componentes de interfaz. |
Adapters
Por ejemplo:
| Proveedor | Uso |
|---|---|
| Firestore | persistencia; |
| Stripe | pagos. |
Consecuencia práctica
Cambiar un proveedor externo no obliga a reescribir la lógica central.
La misma separación permite extraer módulos como Support Kit y reutilizar verificadores sin ligarlos al dominio específico de una aplicación.
Consulta la documentación de arquitectura para ver la separación entre dominio, puertos, adaptadores y aplicación.
ApisKit está diseñado para convertirse en la base de otro producto.
Rebranding
El comando npm run init-product modifica la identidad principal:
| Configuración | Configuración |
|---|---|
| nombre; | slug; |
| empresa; | URL; |
| correo de soporte. |
La configuración resultante se centraliza en src/config/product.ts.
Tema
Los colores se controlan mediante tokens globales.
Textos
El contenido se mantiene separado por namespaces ES/EN.
Requisitos técnicos
| Requisito | Requisito |
|---|---|
| Node.js 22 o superior. | Proyecto Firebase. |
| Authentication. | Firestore. |
| Storage. | Cuenta de Stripe. |
| Proveedor de email transaccional. |
Firebase
La entrega incluye:
| Archivo | Archivo |
|---|---|
firebase.json; | firestore.rules; |
firestore.indexes.json; | storage.rules. |
Antes de publicar
Cada proyecto debe sustituir la identidad de muestra, configurar sus credenciales, adaptar sus precios y revisar sus textos legales.
Las páginas legales incluidas son muestras y no deben presentarse como asesoramiento jurídico.
Consulta la guía para adaptar ApisKit a tu producto y la documentación de instalación y despliegue.
Compartir este Conocimiento
Si este proyecto aporta valor o podría inspirar a otros, considera difundirlo en tu red profesional.
