NexaBase

Documentación de NexaBase

Guías, referencias de API y tutoriales para aprovechar al máximo tu backend PostgreSQL.

REST APIsAutenticaciónReal-timeDashboard

🚧 Documentación en Construcción

Estamos trabajando arduamente para completar toda la documentación. Mientras tanto, puedes explorar estos temas básicos y contactarnos si necesitas ayuda específica.

🚀 Introducción a NexaBase

NexaBase es una plataforma Backend-as-a-Service (BaaS) que combina la potencia de PostgreSQL con APIs auto-generadas, autenticación completa, y tiempo real por defecto.

¿Qué incluye NexaBase?

  • Base de datos PostgreSQL completa
  • APIs REST auto-generadas
  • Autenticación JWT + OAuth
  • Suscripciones tiempo real
  • Dashboard administrativo
  • Gestión de organizaciones
  • Sistema de archivos
  • Row Level Security

Stack Técnico: NestJS + TypeScript + PostgreSQL + TypeORM + Vue + Nuxt

⚙️ Configuración Inicial

1. Crear Cuenta

Regístrate en NexaBase y crea tu primera organización:

# Registro desde el navegador
https://nexabase.online/register

# O usando la CLI (próximamente)
npx @nexabase/cli auth login

2. Crear Primer Proyecto

Desde el dashboard, crea tu primer proyecto PostgreSQL:

  1. Accede al Dashboard
  2. Haz clic en "Nuevo Proyecto"
  3. Elige nombre y región
  4. ¡Tu base de datos está lista en < 60 segundos!

🎯 Primer Proyecto

URLs de tu Proyecto

Cada proyecto incluye estas URLs automáticamente:

API Base: https://api.nexabase.online
Auth: /auth/login, /auth/register
OAuth: /oauth/google, /oauth/github
Database: /api/v1/[tabla]
Real-time: wss://ws.nexabase.online

Ejemplo Básico

Conexión JavaScript básica:

{`// Instalar el SDK (próximamente)
npm install @nexabase/client

// Configurar cliente
import { createClient } from '@nexabase/client'

const nexa = createClient({
  apiUrl: 'https://api.nexabase.online',
  apiKey: 'tu-api-key-aqui'
})

// Autenticación
const { user, tokens } = await nexa.auth.login({
  email: 'user@example.com',
  password: 'tu-password'
})

// Query a la base de datos
const { data } = await nexa.from('productos').select('*')

// Tiempo real
nexa.channel('productos').subscribe(payload => {
  console.log('Cambio:', payload)
})`}

🔐 API de Autenticación

Endpoints Principales

POST/auth/register

Registra un nuevo usuario

// Request Body
{`{ "email": "user@example.com", "password": "mi-password", "first_name": "Usuario", "last_name": "Ejemplo" }`}
POST/auth/login

Inicia sesión con email/password

// Request Body
{`{ "email": "user@example.com", "password": "mi-password" }`}
GET/auth/me

Obtiene perfil del usuario actual (requiere Bearer token)

🚧 Próximamente

  • • Documentación completa de respuestas
  • • Códigos de error detallados
  • • Ejemplos en múltiples lenguajes
  • • Rate limiting y mejores prácticas

🗄️ API de Base de Datos

CRUD Auto-generado

NexaBase genera automáticamente endpoints REST para todas tus tablas PostgreSQL:

GET /api/v1/[tabla] - Listar registros
POST /api/v1/[tabla] - Crear registro
GET /api/v1/[tabla]/:id - Obtener por ID
PUT /api/v1/[tabla]/:id - Actualizar
DELETE /api/v1/[tabla]/:id - Eliminar

Nota: Todas las operaciones respetan Row Level Security (RLS) y requieren autenticación apropiada.

Query Parameters

?select=campo1,campo2
?filter[campo]=valor
?order=campo:asc|desc
?limit=20&offset=0

⚡ API Tiempo Real

NexaBase incluye suscripciones WebSocket automáticas para cada tabla. Recibe actualizaciones en tiempo real sin configuración adicional.

{`// Conectar a WebSocket (próximamente SDK)
const ws = new WebSocket('wss://ws.nexabase.online')

// Suscribirse a una tabla
ws.send(JSON.stringify({
  type: 'subscribe',
  table: 'productos',
  token: 'tu-jwt-token'
}))

// Escuchar cambios
ws.onmessage = (event) => {
  const { type, table, record } = JSON.parse(event.data)
  console.log(\`\${type} en \${table}:\`, record)
}`}

✨ Características

  • • Suscripciones automáticas por tabla
  • • Filtros en tiempo real
  • • Reconexión automática
  • • Rate limiting inteligente

📊 Dashboard

El Dashboard de NexaBase te permite gestionar visualmente tu base de datos, usuarios, configuraciones y monitoreo.

🏢 Organizaciones

  • • Gestión multi-tenant
  • • Roles y permisos
  • • Invitar miembros
  • • Configuración de facturación

🗄️ Base de Datos

  • • Editor SQL en línea
  • • Navegador de tablas
  • • Gestión de índices
  • • Migraciones automáticas

📊 Analytics

  • • Métricas de uso
  • • Logs en tiempo real
  • • Performance queries
  • • Alertas personalizadas

🔒 Seguridad

  • • Row Level Security
  • • API Keys management
  • • OAuth providers
  • • Audit logs

🔜 Próximamente en la Documentación

📚 Guías Avanzadas

  • • Migraciones de datos
  • • Optimización de queries
  • • Configuración de RLS
  • • Integración con CI/CD
  • • Monitoreo y alertas

🛠️ SDKs & Tools

  • • JavaScript/TypeScript SDK
  • • Flutter/Dart SDK
  • • Python SDK
  • • CLI Tools completo
  • • Plugins para IDEs

🎯 Tutoriales

  • • Crear una app completa
  • • Chat en tiempo real
  • • E-commerce con pagos
  • • Dashboard analytics
  • • API pública + documentación

🔧 Referencias

  • • API Reference completa
  • • Códigos de error
  • • Rate limits y quotas
  • • Mejores prácticas
  • • Troubleshooting común

¿Necesitas Ayuda Específica?

Nuestro equipo de desarrollo está disponible para resolver dudas y ayudarte con implementaciones específicas.