尚未偵測到更新。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).