尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗Este repositorio contiene el código fuente completo del proyecto "Pañuelo sin efecto", un sistema de arbitraje y gestión de ligas de Flag Football, construido bajo el Marco Metodológico AIDLC de la COEMERE.
/web: Frontend (Aplicación Web Progresiva - PWA) construida con Next.js (App Router) y Tailwind CSS./backend: API REST construida con NestJS y Prisma (PostgreSQL).Nota de Gobernanza: La documentación detallada, Historias de Usuario (HHU), y diagramas arquitectónicos de este proyecto viven en la Bóveda de Obsidian local del responsable técnico. No se desarrolla funcionalidad sin una Historia de Usuario aprobada.
Requisitos: Node 20+, Docker.
# 1. Base de datos (PostgreSQL 16 en el puerto 5433 del host)
docker compose up -d
# 2. API
cd backend
cp .env.example .env # ajusta JWT_SECRET y SEED_SUPERADMIN_PASSWORD
npm install
npx prisma migrate dev # aplica migraciones y genera el cliente
npm run start:dev # http://localhost:3000 (Swagger en /docs)
# crea el SUPERADMIN al arrancar si SEED_SUPERADMIN_PASSWORD está en .env
# 3. Web
cd ../web
cp .env.example .env.local
npm install
npm run dev # http://localhost:3001 o el puerto que indique Next
Verificación antes de abrir un PR (lo mismo que corre el CI en .github/workflows/ci.yml):
cd backend && npm run lint && npm test && npm run test:e2e && npm run build
cd web && npm run lint && npm test && npm run build
| Pieza | Servicio | Por qué |
|---|---|---|
| Base de datos | Neon (neon.tech) | PostgreSQL gratis sin caducidad. El Postgres gratis de Render se borra a los 30 días. |
| API | Render (Blueprint render.yaml, Docker) | Gratis; se duerme tras 15 min sin tráfico y tarda ~1 min en despertar. |
| Web | Vercel (Root Directory = web) | Gratis, HTTPS automático (requisito para instalar la PWA). |
Pasos, en orden:
panuelo y copiar la cadena de conexión (con ?sslmode=require).main). Capturar DATABASE_URL (Neon). Dejar CORS_ORIGINS vacío el primer día. Al arrancar, el contenedor aplica prisma migrate deploy solo.SEED_SUPERADMIN_PASSWORD en las variables del servicio de Render. La API lo crea sola al arrancar (idempotente); no hace falta shell ni seed manual.web, variable NEXT_PUBLIC_API_URL = URL pública de la API en Render.CORS_ORIGINS = URL de Vercel y volver a desplegar.keep-alive.yml (GitHub Actions, cada 10 min) más un monitor HTTP gratuito de UptimeRobot cada 5 min sobre la URL de la API; sin esto la API tarda ~1 min en despertar durante un partido.PAGO_CLABE, PAGO_BANCO y PAGO_BENEFICIARIO (ver backend/.env.example). Mientras falte alguna, /admin/plan avisa que el pago no está configurado. Los datos bancarios nunca van en el código ni en el repo.VERCEL_GIT_COMMIT_SHA solo; la web lo usa como NEXT_PUBLIC_VERSION para que la PWA instalada se actualice al volver al frente. No fijar deploymentId en next.config.ts (rompe el build en Vercel, error E971).Variables opcionales de la API: SEED_DEMO=false desactiva la liga demo que se crea al arrancar; JWT_EXPIRES_IN (por defecto 7d).
El runbook detallado con verificación paso a paso y solución de problemas vive en la bóveda de Obsidian (03_Gestion_Proyecto/06_Runbook_Despliegue_Gratis_y_Pruebas.md).