skailan-core
v6.0.0
Published
Servicio de autenticación y multitenancy para Skailan.
Maintainers
Readme
@skailan/core
Servicio de autenticación y multitenancy para la plataforma Skailan.
Descripción
Este módulo proporciona la funcionalidad base de autenticación, autorización y gestión de multitenancy para la plataforma Skailan. Incluye:
- Autenticación de usuarios con JWT
- Gestión de organizaciones y membresías
- Sistema de permisos y roles
- Multitenancy con esquemas de base de datos separados
- Gestión de productos y pagos
Instalación
npm install @skailan/coreUso
Importación básica
import { app } from '@skailan/core';
// El servidor se inicia automáticamente
app.listen(3006, () => {
console.log('Core service running on port 3006');
});Configuración de variables de entorno
DATABASE_URL="postgresql://user:password@localhost:5432/skailan"
JWT_SECRET="your-jwt-secret"
RESEND_API_KEY="your-resend-api-key"API Endpoints
Autenticación
POST /auth/login- Iniciar sesiónPOST /auth/register- Registrar usuarioPOST /auth/forgot-password- Solicitar restablecimiento de contraseñaPOST /auth/reset-password- Restablecer contraseña
Organizaciones
GET /organizations- Listar organizacionesPOST /organizations- Crear organizaciónGET /organizations/:id- Obtener organizaciónPUT /organizations/:id- Actualizar organización
Membresías
GET /memberships- Listar membresíasPOST /memberships- Crear membresíaGET /memberships/:id- Obtener membresía
Características
- Multitenancy: Cada organización tiene su propio esquema de base de datos
- Autenticación JWT: Tokens seguros para autenticación
- Gestión de permisos: Sistema de roles y permisos granular
- Migraciones automáticas: Migraciones de esquemas por tenant
- Validación de datos: Validación robusta de entrada
Dependencias
- Express.js para el servidor web
- Prisma para ORM y migraciones
- JWT para autenticación
- bcryptjs para hash de contraseñas
- Resend para envío de emails
Desarrollo
# Instalar dependencias
npm install
# Ejecutar en modo desarrollo
npm run dev
# Construir para producción
npm run build
# Generar cliente Prisma
npm run prisma:generate
# Ejecutar migraciones
npm run prisma:migrateLicencia
MIT
