Herramienta personal de analisis de inversiones con IA para stocks, ETFs y criptomonedas.
La app hoy incluye:
- buscador unificado de stocks y crypto
- watchlist persistida en
localStorage - portfolio persistido con P&L
- detalle de stocks con grafico, fundamentales, noticias, analisis IA, recommendations, earnings e insiders
- detalle de crypto con grafico y analisis IA
- screener de acciones
- proteccion opcional por contrasena via
APP_PASSWORD
La fuente de verdad es el codigo. La documentacion fue actualizada para reflejar el estado actual, pero el archivo de referencia operativa mas completo es docs/PROJECT-CONTEXT.md.
- Next.js 14 + TypeScript
- React 18
- Tailwind CSS +
shadcn/ui - TanStack Query
- Zustand
- Upstash Redis
- Lightweight Charts
- Recharts
- Gemini 2.5 Flash
- Yahoo Finance, Finnhub, CoinGecko, FMP y Alpha Vantage
- Vitest + Testing Library
- El cliente renderiza paginas
use client. - Los componentes consultan rutas internas bajo
app/api/. - Las rutas API leen Redis primero.
- Ante cache miss, consultan proveedores externos.
- Varias rutas combinan proveedores con fallbacks.
- Redis es opcional: si falla, la app sigue.
Notas reales del codigo actual:
- stocks: prioridad Yahoo + Finnhub; Alpha Vantage queda como fallback en overview/history
- indicadores: se calculan localmente desde history, no con llamadas extra a Alpha Vantage
- screener: usa FMP
- crypto: usa CoinGecko
- IA: usa Gemini con streaming
app/
page.tsx
stock/[ticker]/page.tsx
crypto/[id]/page.tsx
screener/page.tsx
login/page.tsx
api/
components/
stock/
crypto/
ui/
lib/
apis/
cache/
store/
format.ts
indicators.ts
types.ts
docs/
PROJECT-CONTEXT.md
ARCHITECTURE.md
API-ROUTES.md
EXTENDING.md
CONTRIBUTING.md
APP_PASSWORD=
UPSTASH_REDIS_REST_URL=
UPSTASH_REDIS_REST_TOKEN=
GEMINI_API_KEY=
FINNHUB_API_KEY=
COINGECKO_API_KEY=
ALPHA_VANTAGE_API_KEY=
FMP_API_KEY=Notas:
APP_PASSWORDes opcional. Si no existe, no hay login.ALPHA_VANTAGE_API_KEYhoy se usa como fallback.FMP_API_KEYhoy es especialmente importante para screener.
npm install
npm run dev
npm run build
npm run lint
npm run test:run- docs/PROJECT-CONTEXT.md: contexto operativo completo
- docs/ARCHITECTURE.md: mapa de capas y decisiones
- docs/API-ROUTES.md: contratos vigentes de rutas API
- docs/EXTENDING.md: patrones para extender la app
- docs/CONTRIBUTING.md: reglas de trabajo y commits
La convencion oficial del repo esta en docs/CONTRIBUTING.md. Formato requerido:
<type>(<scope>): <resumen>
Ejemplos:
fix(screener): correct FMP field mappingdocs(project): align architecture docs with current providersrefactor(api): isolate internal fetch error handling
npm run lintnpm run test:runnpm run build
Proyecto personal. Uso privado.