El código abierto Next.js SaaS Boilerplate para el desarrollo de la aplicación SaaS Enterprise.
¡Estrella el repositorio si desea que continuemos desarrollando y mejorando el kit SaaS Starter! ?
Recursos adicionales
Video - Kit de inicio SaaS de Boxyhq: su mejor calderera compatible con la empresa Blog - Kit de inicio SaaS listo para la empresa
El kit SaaS Starter SaaS con sede en JS Next.js le ahorra meses de desarrollo al comenzar con todas las características que son las mismas en cada producto, para que pueda concentrarse en lo que hace que su aplicación sea única.
Construido con
Next.js Este es un marco React que proporciona características como representación del lado del servidor y generación de sitios estáticos. Se utiliza para construir la interfaz de usuario de su aplicación. La configuración principal para Next.js se puede encontrar en next.config.js.
Tailwind CSS Este es un marco CSS de utilidad para construir rápidamente interfaces de usuario personalizadas. Se usa para diseñar la aplicación. La configuración para CSS de viento de cola se puede encontrar en postcss.config.js.
Postgres Este es un poderoso sistema de base de datos relacional de objetos de código abierto. Se usa para almacenar datos de aplicaciones. La conexión con Postgres probablemente se gestiona a través del prisma.
React esta es una biblioteca JavaScript para construir interfaces de usuario. Se usa para crear los elementos interactivos de su aplicación. Los componentes React se encuentran en el directorio de componentes.
Prisma Este es un kit de herramientas de base de datos de código abierto. Se utiliza para el mapeo relacional de objetos, que simplifica el proceso de redacción de consultas de bases de datos. La configuración y el esquema de PRISMA se pueden encontrar en el directorio de Prisma.
TypeScript Este es un superconjunto escrito de JavaScript que se compila en JavaScript simple. Se usa para hacer que el código sea más robusto y mantenible. Las definiciones y configuraciones de TypeScript se pueden encontrar en archivos como Next-Env.D.TS e I18Next.D.TS.
Saml Jackson (proporciona SAML SSO, Directory Sync) Este es un servicio para manejar SAML SSO (inicio de sesión único). Se utiliza para permitir a los usuarios iniciar sesión con una sola identificación y contraseña a cualquiera de los varios sistemas relacionados, es decir, utilizando un solo conjunto de credenciales). La implementación de Saml Jackson se encuentra principalmente dentro de los archivos asociados con la autenticación.
SVIX (proporciona orquestación webhook) Este es un servicio para manejar Webhooks. Se utiliza para emitir eventos en las operaciones de User/Team CRUD, que luego pueden ser atrapados y manejados por otras partes de la aplicación o servicios externos. La integración de SVIX se distribuye en toda la base de código, principalmente en áreas donde se ejecutan las operaciones de crear, leer, actualizar y eliminar (crud).
Redacionado (proporciona servicio de registros de auditoría) Este es un servicio para el registro de auditorías y la visibilidad de los datos. Ayuda a rastrear las actividades de los usuarios dentro de la aplicación, es decir, quién hizo qué y cuándo estaba en la aplicación). El uso de retroceso se dispersaría a lo largo de la base de código, probablemente en los archivos donde se realizan acciones importantes.
Stripe (proporciona pagos) Este es un servicio para manejar los pagos. Se utiliza para procesar pagos para la aplicación. Es probable que la integración de Stripe se encuentre en los archivos asociados con la facturación y las suscripciones.
Playwright (proporciona pruebas E2E) Esta es una biblioteca Node.js para automatizar los navegadores. Se usa para ejecutar pruebas de extremo a extremo en la aplicación. La configuración y las pruebas del dramaturgo se pueden encontrar en el directorio de pruebas.
Docker (proporciona Docker Compose) Esta es una plataforma para desarrollar, enviar y ejecutar aplicaciones. Se utiliza para contenedorizar la aplicación y sus dependencias. La configuración de Docker se puede encontrar en DockerFile y Docker-Compose.yml.
NextAuth.js (proporciona autenticación) Esta es una solución completa de autenticación de código abierto para aplicaciones next.js. Se usa para manejar la autenticación y la autorización del usuario. La configuración y los proveedores de NextAuth.js se pueden encontrar en las páginas/API/Auth/[... NextAuth] .TS File.
Despliegue
Empezando
Siga estos simples pasos para obtener una copia local.
Para facilitar el proceso de instalación de dependencias, ofrecemos un docker-compose.yml con un contenedor Postgres.
docker-compose up -d
6. Configurar el esquema de la base de datos
npx prisma db push
7. Inicie el servidor
En un entorno de desarrollo:
npm run dev
8. Comience el estudio de prisma
Prisma Studio es un editor visual para los datos en su base de datos.
npx prisma studio
9. Prueba
Estamos utilizando dramaturgo para ejecutar pruebas E2E. Agregue todas las pruebas dentro de la carpeta /tests .
Actualice playwright.config.ts para cambiar la configuración del dramaturgo.
Instalar dependencias de dramaturgo
npm run playwright:update
Ejecutar pruebas E2E
npm run test:e2e
Nota: El informe de prueba HTML se genera dentro de la carpeta report . Navegadores actualmente compatibles para la ejecución de la prueba chromium y firefox
Boilerplate totalmente personalizable fuera de la caja, ¿vea las imágenes a continuación?
? Características
Crear una cuenta
Inicie sesión con correo electrónico y contraseña
Iniciar sesión con Magic Link
Iniciar sesión con Saml SSO
Inicie sesión con Google [Configuración de Google Oauth]
Inicie sesión con GitHub [creando una aplicación Github Oauth]
Sync de directorio (SCIM)
Cuenta de actualización
Crear equipo
Eliminar equipo
Invitar a los usuarios al equipo
Administrar miembros del equipo
Actualizar la configuración del equipo
Webhooks y eventos
Internacionalización
Registros de auditoría
Roles y permisos
Modo oscuro
Notificaciones por correo electrónico
Pruebas de E2E
Docker componer
Estudio prisma
Rol de miembro de actualización
Eventos de sincronización de directorio
Avatar Subida
Saml SSO
Registro de auditoría
Webhook
Pagos
Encabezados de seguridad
➡️ Próximamente
Facturación y suscripciones
Unidad e pruebas de integración
Que contribuye
¡Gracias por tomarse el tiempo para contribuir! Las contribuciones hacen de la comunidad de código abierto un lugar fantástico para aprender, inspirar y crear. Cualquier contribución que haga es muy apreciada.
Intente crear informes de errores que sean:
Reproducible. Incluya pasos para reproducir el problema.
Específico. Incluya tantos detalles como sea posible: qué versión, qué entorno, etc.
Único. No duplique los problemas abiertos existentes.
Alcanzado a un solo error. Un error por informe.
Guía contribuyente
? Comunidad
Discord (para discusión en vivo con la comunidad de código abierto y el equipo de BoxyHQ)
Twitter / LinkedIn (síganos)
YouTube (ver eventos y tutoriales de la comunidad)
Problemas de Github (contribuciones, problemas de informes e ideas de productos)