Bygga
제품명을 박스에 입력하면 Bygga가 3D로 모든 조립 단계와 부품·스크류·도구를 보여주고 음성으로 안내합니다
휴대폰으로 트루코 점수 기록, 다운로드 없이 15·30점 경기, 종이처럼 매치 기록, 무료
Anotá los puntos del truco desde el celular, sin descargar nada: partidas a 15 o a 30, malas y buenas, con fósforos como en papel. Gratis.
라이프스타일JavaScript · CSSGitHub @lauticonte온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗
Truqito (truco.contelautaro.com.ar) es un anotador de Truco Argentino online y gratis: los puntos se dibujan con fósforos, como en el anotador de papel. Está pensado para el celular, sin descargar nada ni registrarse.
localStorage) aunque se cierre el navegador.client:tras-dibujo (src/directivas/).src/stores/partida.js.src/styles/Icons.css); fuentes en woff2 servidas desde el sitio.api/ (ads.txt, 404 real y envío de sugerencias). GA4 con web vitals reales de cada visita (src/reportWebVitals.js) y Vercel Analytics.anotador-truco/
├── api/ # Vercel Functions: ads.txt, 404 real, sugerencias a Telegram
├── public/ # Archivos tal cual: imágenes, fuentes, robots, sitemap, llms.txt, 404.html
├── src/
│ ├── pages/ # Una página por URL
│ │ ├── index.astro # Anotador (tablero renderizado en 0-0)
│ │ ├── guia-truco.astro # Guía: las tres pestañas en el HTML
│ │ ├── resultado/[ganador].astro # /resultado/nosotros y /resultado/ellos
│ │ └── resultado.astro # Cualquier otro /resultado/:winner
│ ├── layouts/Base.astro # <head> común (meta, GA4, CMP de InMobi), header y footer
│ ├── components/ # Islas de React (Board, Counter, Menu, ResultPage, VAR…) y Footer.astro
│ ├── directivas/ # client:tras-dibujo: hidratar después del primer dibujo
│ ├── stores/partida.js # Estado compartido entre islas
│ ├── data/ # Metadatos de las páginas y contenido de la guía
│ ├── scripts/ # JS sin React (pestañas de la guía)
│ └── styles/ # Hojas de estilo por componente
├── scripts/ # Contrato SEO, comparación entre deploys y PageSpeed
├── tests/
│ ├── unit/ # Vitest + Testing Library
│ └── contrato/ # Contrato SEO sobre el build (node:test)
├── astro.config.mjs
└── vercel.json # Rewrites, headers (noindex en /resultado/*) y cache
El estado actual, los pendientes, cómo medir y las lecciones aprendidas están en docs/HANDOFF.md. Las herramientas de medición están en scripts/medicion/.
package-lock.json)npm install # dependencias
npm run dev # servidor de desarrollo en http://localhost:4321
npm run build # build de producción en dist/
npm run preview # sirve dist/ localmente
Las funciones de
api/y las reglas devercel.json(rewrites y headers) solo corren en Vercel. Para probarlas, usar el deploy de preview de la rama.
npm test # unitarios: lógica de juego, store, islas, VAR, nombres
npm run build && npm run test:contrato # contrato SEO del build contra producción
tests/contrato/): title, description, canonical, Open Graph, Twitter, JSON-LD y texto de cada página tienen que ser iguales a los capturados de producción (tests/contrato/esperado.json). También controla el presupuesto de JavaScript de la home.node scripts/comparar-urls.mjs https://truco.contelautaro.com.ar https://<preview>.vercel.app
node scripts/capturar-contrato.mjs.PSI_KEY=... node scripts/psi.mjs <url>. La clave está en Bitwarden; nunca en archivos.master es producción.vercel.json fija framework: astro y outputDirectory: dist.comparar-urls sin diferencias inesperadas contra producción.El proyecto sigue Semantic Versioning. El historial completo está en CHANGELOG.md y, para los usuarios, en Novedades dentro de la app (src/components/Changelog.jsx).
Lautaro Conte