尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 README。 以下为已保存的摘录。
Aplicación web para seguir tus ahorros en Argentina: dólares y criptomonedas en un solo lugar, con cotizaciones del mercado argentino. Producción:. • Dólar: compras y ventas de USD en pesos, por tipo de dólar (oficial, blue, MEP, CCL, cripto…). • Cripto: compras, ventas e intercambios de cualquier moneda de CoinGecko, en USD, con su valor en pesos. • Portfolio: valor total en ARS y USD, composición por activo y evolución del valor en el tiempo. Funciona sin cuenta (todo queda en tu navegador) o con sesión (los datos se guardan en tu cuenta y los ves en cualquier dispositivo).查看完整 README ↗
Aplicación web para seguir tus ahorros en Argentina: pesos, dólares, CEDEARs y criptomonedas en un solo lugar, con cotizaciones del mercado argentino. Producción: https://usd-tracker.vercel.app.
Funciona sin cuenta (todo queda en tu navegador) o con sesión (los datos se guardan en tu cuenta y los ves en cualquier dispositivo).
/)
/pesos)
/dolar)
/cedears)
/cedears/[ticker])/cripto)
/cripto/[coinId])localStorage)Next.js 16 (App Router) · React 19 · TypeScript · Tailwind CSS 4 · shadcn/ui · Zustand · React Hook Form + Zod · Clerk · Prisma 7 + Neon · recharts · Vitest · Playwright.
Datos externos: DolarAPI (cotizaciones), ArgentinaDatos
(histórico del dólar), CoinGecko (precios cripto) y
data912 (precios de CEDEARs, con demora). El navegador solo llama directo a
DolarAPI; el resto pasa por las rutas /api/* del server, que validan y cachean.
pnpm install # también genera el cliente de Prisma (postinstall)
cp .env.example .env
pnpm dev # http://localhost:3000
Sin variables de entorno la app funciona en modo local: Clerk arranca en keyless mode y las rutas
de datos en la nube responden error hasta que haya una base. En CI no hay keyless mode (Clerk lo
apaga en entornos automatizados): los E2E usan las claves de desarrollo de los secretos E2E_CLERK_*.
| Comando | Qué hace |
|---|---|
pnpm lint / pnpm typecheck | ESLint 9 / tsc --noEmit |
pnpm test | Unit tests (Vitest, src/**/*.test.ts) |
pnpm test:e2e | E2E (Playwright, e2e/) con las APIs externas simuladas: --project=local sin sesión, --project=cloud con sesión (Clerk de desarrollo + base de Neon de desarrollo, ver AGENTS.md). La primera vez: pnpm exec playwright install chromium |
pnpm db:migrate | Crea y aplica una migración en desarrollo |
pnpm db:deploy | Aplica las migraciones pendientes |
pnpm db:studio | Prisma Studio |
CI (GitHub Actions) corre lint, typecheck, unit tests, build y E2E en cada PR y push a main.
| Variable | Para qué | Obligatoria |
|---|---|---|
DATABASE_URL | Neon, conexión con pooler (la usa la app) | Para la nube |
DIRECT_URL | Neon, conexión directa (la usa prisma migrate; si falta, usa DATABASE_URL) | No |
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY, CLERK_SECRET_KEY | Login (Clerk) | En producción |
COINGECKO_API_KEY | Clave Demo de CoinGecko: más consultas por minuto | No |
Vercel despliega main automáticamente y usa pnpm vercel-build (scripts/vercel-build.mjs):
prisma migrate deploy y después next build. Si la migración falla, el deploy falla
y sigue publicada la versión anterior (nunca código nuevo con una base sin migrar).next build (comparten la base: una rama sin fusionar no cambia el schema).Las variables de la tabla se cargan en Project → Settings → Environment Variables. Pasos de
producción (Clerk, backups, logs): docs/operacion.md.
AGENTS.md: arquitectura, convenciones y comportamiento del estado.docs/roadmap.md: lo pendiente, deuda técnica y próximas fases.docs/historial.md: fases cerradas y sus decisiones.docs/roadmap-cedears.md: decisiones de Pesos y CEDEARs (D1–D9) y posibles siguientes pasos.docs/cambios/: registro de cada cambio con su explicación.docs/operacion.md: producción (variables, Clerk, backups de Neon, logs, migraciones).