Sobre o projeto

OpenTerminal é um painel de mercado estilo terminal construído com Next.js, Express e TypeScript, que roda localmente e combina vários endpoints de dados de mercado gratuitos e publicamente documentados. O README enfatiza que não é necessário cadastro, cartão de crédito ou chave de API paga para a funcionalidade principal; cada endpoint de dados usa uma cadeia de fallback e cache stale-while-revalidate para reduzir interrupções. O espaço de trabalho é baseado em widgets: os painéis podem ser arrastados, redimensionados, adicionados e removidos com react-grid-layout, e o layout é salvo localmente. Uma paleta de comandos global (⌘K) pesquisa ações, ETFs e cripto, com atalhos de teclado para adicionar widgets. Os gráficos são fornecidos por lightweight-charts e suportam visualizações de candlestick, barras, linhas e áreas, volume, oito períodos de tempo e indicadores SMA, EMA, VWAP, Bandas de Bollinger, RSI e MACD, com uma legenda de hover mostrando OHLC, volume e valores de indicadores ativos. Outros widgets incluem um painel de cotações com bid/ask, OHLC, capitalização de mercado, P/L, EPS, rendimento de dividendos, faixa de 52 semanas, beta e ações em circulação; um feed de notícias RSS agregado e desduplicado; um triagem de ações dos EUA; um mapa de calor de treemap setorial ao vivo; uma cadeia de opções com destaque ITM; um painel de cripto com sparklines, dominância e gráficos OHLCV; um painel macro com curva de rendimento do Tesouro, VIX e proxies de índices/commodities; um rastreador de portfólio para transações e P&L realizado/não realizado persistido em SQLite; e calendários econômicos e de lucros. As fontes de dados listadas incluem Nasdaq, Yahoo Finance, Stooq, TradingView, CoinGecko, Binance, FRED, Forex Factory, Google News RSS e Yahoo Finance RSS, com cobertura de fallback variada. Um assistente de IA opcional com tecnologia Claude pode responder perguntas sobre o símbolo atual quando uma chave de API Anthropic é configurada; o resto do aplicativo funciona sem ela. A configuração é feita via npm install e npm run dev, servindo a interface web na porta 3000 e a API na porta 4000, ou via Docker Compose. Por padrão, a API vincula a 127.0.0.1, restringe origens do navegador e gera um segredo compartilhado local para endpoints de portfólio e IA. O README observa explicitamente que endpoints públicos não são feeds licenciados de nível de execução, os dados podem estar atrasados ou indicativos, e o projeto é para uso pessoal e educacional, não para decisões de investimento. É licenciado sob MIT.