Synaplan
开源 AI 软件平台,面向企业:自托管 AI 代理,符合 GDPR 的聊天机器人小部件,RAG 知识库,WhatsApp 与 Outlook AI,MCP,多模型路由。支持 Docker、Kubernetes 或在 Germ 托管。
AI 翻译
尚未收集仓库信息。
尚未检测到更新。GitHub 发布版本后会显示在这里。
制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗Aplicación web para registrar, administrar, consultar y exportar la actividad mensual de los publicadores de la congregación, organizada por Grupos de Servicio. Funciona en computador, tablet y teléfono.
Construida con Next.js + TypeScript + Prisma + SQLite + NextAuth + Tailwind + ExcelJS.
node --version
npm --version
No necesitas instalar ninguna base de datos: SQLite es un simple archivo.
Abre una terminal dentro de la carpeta del proyecto (congregacion-ocoa) y
ejecuta los comandos en orden:
# 1) Instalar las dependencias
npm install
# 2) Crear el archivo de configuración a partir de la plantilla
# (en Windows PowerShell usa: Copy-Item .env.example .env )
cp .env.example .env
# 3) Generar un secreto de sesión seguro y pégalo en AUTH_SECRET dentro de .env
npx auth secret
# 4) Crear la base de datos y cargar el usuario inicial + datos de ejemplo
npm run db:migrate
npm run db:seed
Importante: edita el archivo
.envy cambiaAUTH_SECRETpor el valor que generó el comandonpx auth secret.
| Rol | Usuario | Contraseña |
|---|---|---|
| Secretario | secretario | Ocoa2026 |
| Superintendente | super1 | Ocoa2026 |
| Auxiliar | aux1 | Ocoa2026 |
Al primer ingreso, el sistema obliga a cambiar la contraseña. Los usuarios
super1/aux1y el grupo de demostración son solo de ejemplo: puedes eliminarlos cuando crees tus datos reales.
npm run dev
Abre el navegador en http://localhost:3000.
npm run build
npm run start
| Comando | Para qué sirve |
|---|---|
npm run dev | Ejecuta la app en modo desarrollo. |
npm run build | Compila la app para producción. |
npm run start | Ejecuta la versión compilada. |
npm run db:migrate | Crea/actualiza la base de datos según el esquema. |
npm run db:seed | Carga el usuario inicial y datos de ejemplo. |
npm run db:studio | Abre Prisma Studio para ver/editar la base de datos. |
npm run db:reset | Borra la base y la recrea desde cero (con seed). |
La base de datos completa es un solo archivo: prisma/dev.db.
Copy-Item prisma\dev.db "prisma\backup-$(Get-Date -Format yyyy-MM-dd).db"
prisma/dev.db por la copia.Si despliegas en la nube con PostgreSQL (ver más abajo), el proveedor suele ofrecer copias de seguridad automáticas.
SQLite es ideal para uso local, pero en servidores "sin estado" (como Vercel) el archivo no se conserva. Para la nube conviene usar PostgreSQL gratuito (Neon). El cambio es mínimo.
Paso 1 — Crear la base de datos PostgreSQL (gratis):
postgresql://...).Paso 2 — Cambiar Prisma a PostgreSQL:
En prisma/schema.prisma, cambia el bloque datasource:
datasource db {
provider = "postgresql" // antes decía "sqlite"
url = env("DATABASE_URL")
}
Paso 3 — Subir el proyecto a GitHub (si no lo has hecho):
git init
git add .
git commit -m "Primera versión"
# crea un repositorio en github.com y sigue las instrucciones para "push"
Paso 4 — Desplegar en Vercel:
DATABASE_URL → la cadena de Neon.AUTH_SECRET → ejecuta npx auth secret y pega el valor.AUTH_URL → la URL que te dé Vercel (ej. https://tu-app.vercel.app).Paso 5 — Preparar la base de datos en la nube (una sola vez). Desde tu
computador, con el DATABASE_URL de Neon en tu .env:
npm run db:migrate
npm run db:seed
¡Listo! Tu app estará disponible en la URL de Vercel.
Si prefieres no cambiar a PostgreSQL, https://railway.app permite un "volumen"
persistente donde el archivo SQLite se conserva. Cuesta unos pocos dólares al
mes. Conecta el repositorio, agrega un volumen montado en /app/prisma y define
las variables AUTH_SECRET y AUTH_URL.
provider a postgresql en prisma/schema.prisma.DATABASE_URL en .env.npm run db:migrate y luego npm run db:seed.(Los datos de SQLite no se copian automáticamente; si necesitas trasladarlos, exporta a Excel antes o pide ayuda para una migración de datos.)
prisma/
schema.prisma # Modelo de datos
seed.ts # Carga inicial (secretario + ejemplo)
src/
auth.ts # Configuración de NextAuth
app/
login/ # Inicio de sesión
cambiar-contrasena/
(app)/ # Páginas protegidas (panel, grupos, usuarios,
# publicadores, informes, estadísticas, historial,
# exportar, auditoría)
api/
auth/ # Endpoints de NextAuth
export/ # Descarga de archivos Excel
components/ # Componentes de interfaz (UI, formularios, gráficos)
lib/ # Lógica: prisma, acceso, estadísticas, validaciones, etc.
server/ # Server Actions (crear/editar/eliminar)
.env en privado (ya está excluido de Git).AUTH_SECRET único y largo en producción.