Some checks failed
CI/CD Pipeline / 🧪 Tests (push) Has been cancelled
CI/CD Pipeline / 🏗️ Build (push) Has been cancelled
CI/CD Pipeline / 🚀 Deploy to Staging (push) Has been cancelled
CI/CD Pipeline / 🚀 Deploy to Production (push) Has been cancelled
CI/CD Pipeline / 🏷️ Create Release (push) Has been cancelled
CI/CD Pipeline / 🧹 Cleanup (push) Has been cancelled
Implementados 4 módulos con agent swarm: 1. TESTING FUNCIONAL (Jest) - Configuración Jest + ts-jest - Tests unitarios: auth, booking, court (55 tests) - Tests integración: routes (56 tests) - Factories y utilidades de testing - Coverage configurado (70% servicios) - Scripts: test, test:watch, test:coverage 2. TESTING DE USUARIO (Beta) - Sistema de beta testers - Feedback con categorías y severidad - Beta issues tracking - 8 testers de prueba creados - API completa para gestión de feedback 3. DOCUMENTACIÓN COMPLETA - API.md - 150+ endpoints documentados - SETUP.md - Guía de instalación - DEPLOY.md - Deploy en VPS - ARCHITECTURE.md - Arquitectura del sistema - APP_STORE.md - Material para stores - Postman Collection completa - PM2 ecosystem config - Nginx config con SSL 4. GO LIVE Y PRODUCCIÓN - Sistema de monitoreo (logs, health checks) - Servicio de alertas multi-canal - Pre-deploy check script - Docker + docker-compose producción - Backup automatizado - CI/CD GitHub Actions - Launch checklist completo ESTADÍSTICAS FINALES: - Fases completadas: 7/7 - Archivos creados: 250+ - Líneas de código: 60,000+ - Endpoints API: 150+ - Tests: 110+ - Documentación: 5,000+ líneas PROYECTO COMPLETO Y LISTO PARA PRODUCCIÓN
176 lines
5.4 KiB
SQL
176 lines
5.4 KiB
SQL
-- CreateTable
|
|
CREATE TABLE "beta_testers" (
|
|
"id" TEXT NOT NULL PRIMARY KEY,
|
|
"userId" TEXT NOT NULL,
|
|
"joinedAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"feedbackCount" INTEGER NOT NULL DEFAULT 0,
|
|
"status" TEXT NOT NULL DEFAULT 'ACTIVE',
|
|
"platform" TEXT NOT NULL DEFAULT 'WEB',
|
|
"appVersion" TEXT,
|
|
"updatedAt" DATETIME NOT NULL,
|
|
CONSTRAINT "beta_testers_userId_fkey" FOREIGN KEY ("userId") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE CASCADE
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "feedbacks" (
|
|
"id" TEXT NOT NULL PRIMARY KEY,
|
|
"userId" TEXT NOT NULL,
|
|
"type" TEXT NOT NULL,
|
|
"category" TEXT NOT NULL,
|
|
"title" TEXT NOT NULL,
|
|
"description" TEXT NOT NULL,
|
|
"severity" TEXT NOT NULL DEFAULT 'LOW',
|
|
"status" TEXT NOT NULL DEFAULT 'PENDING',
|
|
"screenshots" TEXT,
|
|
"deviceInfo" TEXT,
|
|
"betaIssueId" TEXT,
|
|
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updatedAt" DATETIME NOT NULL,
|
|
"resolvedAt" DATETIME,
|
|
"resolvedBy" TEXT,
|
|
CONSTRAINT "feedbacks_userId_fkey" FOREIGN KEY ("userId") REFERENCES "beta_testers" ("userId") ON DELETE RESTRICT ON UPDATE CASCADE,
|
|
CONSTRAINT "feedbacks_betaIssueId_fkey" FOREIGN KEY ("betaIssueId") REFERENCES "beta_issues" ("id") ON DELETE SET NULL ON UPDATE CASCADE
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "beta_issues" (
|
|
"id" TEXT NOT NULL PRIMARY KEY,
|
|
"title" TEXT NOT NULL,
|
|
"description" TEXT NOT NULL,
|
|
"status" TEXT NOT NULL DEFAULT 'OPEN',
|
|
"priority" TEXT NOT NULL DEFAULT 'MEDIUM',
|
|
"assignedTo" TEXT,
|
|
"relatedFeedbackIds" TEXT NOT NULL DEFAULT '[]',
|
|
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updatedAt" DATETIME NOT NULL,
|
|
"resolvedAt" DATETIME
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "system_logs" (
|
|
"id" TEXT NOT NULL PRIMARY KEY,
|
|
"level" TEXT NOT NULL DEFAULT 'INFO',
|
|
"service" TEXT NOT NULL,
|
|
"message" TEXT NOT NULL,
|
|
"metadata" TEXT,
|
|
"userId" TEXT,
|
|
"requestId" TEXT,
|
|
"ipAddress" TEXT,
|
|
"userAgent" TEXT,
|
|
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"resolvedAt" DATETIME,
|
|
"resolvedBy" TEXT,
|
|
CONSTRAINT "system_logs_userId_fkey" FOREIGN KEY ("userId") REFERENCES "users" ("id") ON DELETE SET NULL ON UPDATE CASCADE
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "health_checks" (
|
|
"id" TEXT NOT NULL PRIMARY KEY,
|
|
"status" TEXT NOT NULL DEFAULT 'HEALTHY',
|
|
"service" TEXT NOT NULL,
|
|
"responseTime" INTEGER NOT NULL,
|
|
"checkedAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"errorMessage" TEXT,
|
|
"metadata" TEXT
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "system_configs" (
|
|
"id" TEXT NOT NULL PRIMARY KEY,
|
|
"key" TEXT NOT NULL,
|
|
"value" TEXT NOT NULL,
|
|
"description" TEXT,
|
|
"category" TEXT NOT NULL DEFAULT 'GENERAL',
|
|
"isActive" BOOLEAN NOT NULL DEFAULT true,
|
|
"updatedBy" TEXT,
|
|
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updatedAt" DATETIME NOT NULL
|
|
);
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "beta_testers_userId_key" ON "beta_testers"("userId");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "beta_testers_userId_idx" ON "beta_testers"("userId");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "beta_testers_status_idx" ON "beta_testers"("status");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "beta_testers_platform_idx" ON "beta_testers"("platform");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "feedbacks_userId_idx" ON "feedbacks"("userId");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "feedbacks_type_idx" ON "feedbacks"("type");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "feedbacks_category_idx" ON "feedbacks"("category");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "feedbacks_status_idx" ON "feedbacks"("status");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "feedbacks_severity_idx" ON "feedbacks"("severity");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "feedbacks_betaIssueId_idx" ON "feedbacks"("betaIssueId");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "feedbacks_createdAt_idx" ON "feedbacks"("createdAt");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "beta_issues_status_idx" ON "beta_issues"("status");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "beta_issues_priority_idx" ON "beta_issues"("priority");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "beta_issues_assignedTo_idx" ON "beta_issues"("assignedTo");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "system_logs_level_idx" ON "system_logs"("level");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "system_logs_service_idx" ON "system_logs"("service");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "system_logs_userId_idx" ON "system_logs"("userId");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "system_logs_createdAt_idx" ON "system_logs"("createdAt");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "system_logs_level_createdAt_idx" ON "system_logs"("level", "createdAt");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "system_logs_service_createdAt_idx" ON "system_logs"("service", "createdAt");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "health_checks_status_idx" ON "health_checks"("status");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "health_checks_service_idx" ON "health_checks"("service");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "health_checks_checkedAt_idx" ON "health_checks"("checkedAt");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "health_checks_service_checkedAt_idx" ON "health_checks"("service", "checkedAt");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "health_checks_status_checkedAt_idx" ON "health_checks"("status", "checkedAt");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "system_configs_key_key" ON "system_configs"("key");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "system_configs_category_idx" ON "system_configs"("category");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "system_configs_isActive_idx" ON "system_configs"("isActive");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "system_configs_key_isActive_idx" ON "system_configs"("key", "isActive");
|