ai-startup-skills
创业公司做 AI 产品的 7 步 Agent Skill 合集:验证 → BP → 政策 → 路演 → 获客 → 定价 → 注册。
Translation pending
Sistema de gestión integral para cultivos hidropónicos
Translation pending
OtherTypeScript · CSSGitHub @marcosquarantaOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Xavia App - Hidroponia
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Gestión integral de cultivos hidropónicos · v1.0 App web para gestionar siembra, trasplantes, cosecha, ocupación de invernaderos, alertas de desvío y trazabilidad de lotes. Base de datos en Google Sheets, hosteada en Vercel. Necesitás un archivo .env.local con las variables de entorno (ver Paso 5). Requisitos previos: • Cuenta de GitHub (marcosquaranta) • Cuenta de Google (cualquiera, gratis) • Node.js instalado — https://nodejs.org Paso 1 · Subir el Sheet a Google DriveRead the full README ↗
Gestión integral de cultivos hidropónicos · v1.0
App web para gestionar siembra, trasplantes, cosecha, ocupación de invernaderos, alertas de desvío y trazabilidad de lotes. Base de datos en Google Sheets, hosteada en Vercel.
Stack: Next.js 14 · TypeScript · Google Sheets API · iron-session · Tailwind CSS
xavia/
├── app/ Páginas (Next.js App Router)
│ ├── login/ Login
│ ├── panel/ Panel principal
│ ├── cultivos/ Mis Cultivos + nuevo, trasplantar, cosechar
│ ├── ocupacion/ Ocupación e indicadores
│ ├── estadisticas/ Estadísticas
│ ├── alertas/ Alertas (admin only)
│ ├── admin/ Naves, semillas, usuarios, clientes
│ └── api/ Endpoints REST
├── lib/ Lógica de negocio
│ ├── sheets.ts Conexión a Google Sheets
│ ├── auth.ts Autenticación con bcrypt + iron-session
│ ├── lotes.ts Lógica de lotes
│ ├── ocupacion.ts Cálculos de ocupación
│ ├── estadisticas.ts Cálculos de estadísticas
│ ├── loteId.ts Generación de IDs de lote
│ └── types.ts Tipos TypeScript
├── components/ Componentes UI
│ └── Header.tsx
├── scripts/
│ └── generar-hash.js Genera hash bcrypt para crear primer admin
├── package.json
└── XaviaApp_BaseDatos_v3.xlsx Plantilla de base de datos
npm install
npm run dev
Necesitás un archivo .env.local con las variables de entorno (ver Paso 5).
Requisitos previos:
marcosquaranta)XaviaApp_BaseDatos_v3.xlsx de la carpeta del proyecto.https://docs.google.com/spreadsheets/d/1aB2cD3eF4gH5iJ6kL7mN/edit
El ID es 1aB2cD3eF4gH5iJ6kL7mN.xaviaapp.xaviaapp-sa. Click en Crear y continuar → Listo..json. No lo subas a GitHub. De ese archivo vas a usar:
client_emailprivate_keyclient_email del Service Account.node scripts/generar-hash.js "TuContraseñaSegura"
Copiá el hash resultante ($2b$10$...) y pegalo en la columna password_hash de la pestaña Usuarios del Sheet, en la fila del email admin.
Para desarrollo local, creá .env.local:
GOOGLE_SHEET_ID=el-id-del-paso-1
GOOGLE_SERVICE_ACCOUNT_EMAIL=xaviaapp-sa@xaviaapp.iam.gserviceaccount.com
GOOGLE_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n"
SESSION_SECRET=una-clave-aleatoria-de-32-chars
Para Vercel, cargá esas mismas variables en Settings → Environment Variables.
Podés generar
SESSION_SECRETen https://generate-secret.vercel.app/32
marcosquaranta/xavia../.xavia-xyz.vercel.app.Cada vez que modifiques código:
git add . && git commit -m "descripción" && git push| Síntoma | Causa probable | Solución |
|---|---|---|
| "email o contraseña incorrectos" | Hash mal copiado o activo ≠ SI | Verificar Sheet, columnas password_hash y activo |
| "Variables de entorno faltantes" | Faltan vars en Vercel | Settings → Env Vars → agregar y Redeploy |
| "Permission denied" al leer Sheet | Sheet no compartido | Compartir con client_email como Editor |
| Sheet vacío en la app | GOOGLE_SHEET_ID incorrecto | Verificar ID en la URL del Sheet |
XaviaApp · 2026