水杉输入法 MSIME|开源中文输入法
水杉输入法(MSIME)是开源中文输入法,面向 Windows、macOS、Linux、Android、iOS 与 HarmonyOS 开发,支持全拼、双拼、五笔,候选词旁直接显示译文。查看下载、使用指南与常见问题。
翻訳待ち
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full 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).