Lalabase
Tickets, Doku, Zeiterfassung und Kundengespräche an einem Ort, durchsuchbar per KI. Für Softwarefirmen mit Kundenprojekten. Open Source: auf deinem eigenen Server oder in unserer Cloud in Deutschland.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Portfolio de Terry Quiñonez · Next.js + TypeScript · Spec-driven
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗Portfolio bilingüe (ES/EN) de Terry Quiñonez, desarrollador web en Quijorna (Madrid): https://terryq.com.
Es una web estática con una sola parte dinámica, el formulario de contacto. Se construyó con desarrollo guiado por especificación: la especificación, las tareas y las decisiones están en este repositorio, y cada tarea fue una rama, un pull request y un merge con el CI en verde.
/en).| Pieza | Elección |
|---|---|
| Framework | Next.js 16 (App Router, Turbopack), React 19, páginas estáticas |
| Lenguaje y estilos | TypeScript estricto, Tailwind CSS 4, tokens generados desde design/tokens.json |
| i18n | next-intl, rutas por idioma (ADR-0001) |
| Contenido | meta.ts + MDX por caso e idioma (ADR-0002), textos de interfaz en messages/ |
| Formulario | Server Action con zod y Resend, sin JavaScript también funciona (ADR-0006) |
| Antispam | Campo trampa y tiempo mínimo, y una regla de límite en el Firewall de Vercel (ADR-0007) |
| Calidad | Vitest, Playwright (Chromium y WebKit), axe (WCAG 2.2 AA), Lighthouse CI, comprobación del peso de JS |
| Despliegue | Vercel (plan Hobby), dominio y DNS en Cloudflare, correo con Cloudflare Email Routing y Resend |
Las decisiones de arquitectura están en docs/adr/.
Requisitos: Node 24 y pnpm.
pnpm install
cp .env.example .env.local # en local el transporte del formulario es "mock"
pnpm dev # http://localhost:3000
| Comando | Qué hace |
|---|---|
pnpm build · pnpm start | Build de producción y servidor |
pnpm typecheck · pnpm lint · pnpm test | Tipos, ESLint y tests unitarios |
pnpm e2e | Playwright (arranca la web en el puerto 3100 con el transporte mock) |
pnpm size | Tamaño del JS de primera carga por ruta (tras pnpm build) |
pnpm lhci | Lighthouse CI sobre el build local |
pnpm tokens | Regenera src/styles/tokens.css |
pnpm screenshots | Capturas 2x de los proyectos publicados |
Las de .env.example. CONTACT_TRANSPORT=mock no envía nada y está prohibido en producción; allí se usa resend, con el remitente [email protected] y el destino [email protected].
Vercel despliega main en producción y crea un preview por cada pull request. main está protegida: el CI (formato, tipos, lint, tests, build, tamaño de JS, e2e y Lighthouse) es obligatorio para hacer merge.
docs/spec.mddocs/tasks.mddocs/adr/docs/qa/CLAUDE.mdEl código se publica bajo licencia MIT. Los textos, imágenes, capturas, el logo TQ y el resto de contenido de marca son © Terry Quiñonez y no están cubiertos por la licencia MIT. Las fuentes de las imágenes Open Graph (src/assets/og-fonts/) llevan su propia licencia OFL.