/Users/neog/Apps/macOS/BCBDashboard-macOS/BCBDashboard.xcodeproj analise o projeto. ⏺ Bash(ls -la /Users/neog/Apps/macOS/BCBDashboard-macOS/) ⎿  total 88 drwxr-xr-x 16 neog staff 512 Jan 11 21:20 . drwxr-xr-x@ 40 neog staff 1280 Jan 11 21:20 .. … +15 lines (ctrl+o to expand) ⏺ Search(pattern: "**/*", path: "Apps/macOS/BCBDashboard-macOS") ⎿  Found 100 files (ctrl+o to expand) ⏺ Read(Apps/macOS/BCBDashboard-macOS/CLAUDE.md) ⎿  Read 106 lines ⏺ Read(Apps/macOS/BCBDashboard-macOS/BCBDashboardApp.swift) ⎿  Read 596 lines ⏺ Read(Apps/macOS/BCBDashboard-macOS/Package.swift) ⎿  Read 37 lines ⏺ Vou ler mais arquivos para ter uma visão completa do projeto. ⏺ Read(Apps/macOS/BCBDashboard-macOS/Models/Currency.swift) ⎿  Read 159 lines ⏺ Read(Apps/macOS/BCBDashboard-macOS/Models/TimeSeries.swift) ⎿  Read 180 lines ⏺ Read(Apps/macOS/BCBDashboard-macOS/Services/BCBAPIClient.swift) ⎿  Read 549 lines ⏺ Read(Apps/macOS/BCBDashboard-macOS/ViewModels/DashboardViewModel.swift) ⎿  Read 388 lines ⏺ Deixe-me ver mais alguns arquivos para completar a análise. ⏺ Search(pattern: "**/*.swift", path: "Apps/macOS/BCBDashboard-macOS") ⎿  Found 17 files (ctrl+o to expand) ⏺ Read(Apps/macOS/BCBDashboard-macOS/Views/ContentView.swift) ⎿  Read 503 lines ⏺ Read(Apps/macOS/BCBDashboard-macOS/Views/Dashboard/DashboardView.swift) ⎿  Read 486 lines ⏺ Read(Apps/macOS/BCBDashboard-macOS/Models/Institution.swift) ⎿  Read 1032 lines ⏺ Análise do Projeto BCBDashboard-macOS Visão Geral O BCBDashboard é um aplicativo nativo macOS desenvolvido em Swift/SwiftUI que consome as APIs públicas do Banco Central do Brasil (BCB). É um dashboard financeiro completo com foco em dados econômicos brasileiros. Arquitetura Camada: App Padrão: @main SwiftUI App Descrição: Entry point com múltiplas cenas (Window, Settings, MenuBar) ──────────────────────────────────────── Camada: Views Padrão: SwiftUI + Swift Charts Descrição: Interface declarativa com gráficos nativos ──────────────────────────────────────── Camada: ViewModels Padrão: ObservableObject Descrição: Estado reativo com @Published ──────────────────────────────────────── Camada: Services Padrão: Singleton async/await Descrição: Cliente HTTP + cache + notificações ──────────────────────────────────────── Camada: Models Padrão: Codable structs Descrição: Modelos de dados das APIs BCB Estrutura de Arquivos (17 arquivos Swift) BCBDashboard-macOS/ ├── BCBDashboardApp.swift # App principal + MenuBar + Settings (596 linhas) ├── Models/ │ ├── Currency.swift # PTAX: DollarQuote, CurrencyQuote │ ├── TimeSeries.swift # SGS: SeriesCode (SELIC, IPCA, CDI, PIB) │ └── Institution.swift # Bank, Cooperative, Consortium, PIX, Focus (~1000 linhas) ├── Services/ │ ├── BCBAPIClient.swift # Cliente HTTP unificado (549 linhas) │ ├── NotificationService.swift │ └── LogManager.swift ├── ViewModels/ │ └── DashboardViewModel.swift # Estado global (388 linhas) ├── Views/ │ ├── ContentView.swift # NavigationSplitView + Sidebar │ ├── Dashboard/DashboardView.swift # Cards + Charts │ ├── Currency/CurrencyListView.swift │ ├── Rates/RatesView.swift │ ├── Institutions/InstitutionsView.swift │ ├── PIX/PIXStatsView.swift │ └── Expectations/ExpectationsView.swift └── Extensions/Extensions.swift # Color, Double, Date helpers APIs Integradas API: PTAX Base URL: olinda.bcb.gov.br/PTAX/v1 Dados: Câmbio (USD, EUR, etc) ──────────────────────────────────────── API: SGS Base URL: api.bcb.gov.br/dados/serie Dados: Séries temporais (SELIC, IPCA, CDI) ──────────────────────────────────────── API: SPI Base URL: olinda.bcb.gov.br/SPI/v1 Dados: Estatísticas PIX ──────────────────────────────────────── API: Expectativas Base URL: olinda.bcb.gov.br/Expectativas/v1 Dados: Focus (projeções de mercado) ──────────────────────────────────────── API: Instituições Base URL: olinda.bcb.gov.br/Instituicoes_em_funcionamento/v1 Dados: Bancos, cooperativas, fintechs Features Implementadas 1. Dashboard Principal - Cards com cotações USD/EUR em tempo real - Taxas SELIC, IPCA, CDI com histórico - Gráficos (Swift Charts) de 30 dias - Juro real calculado (SELIC - IPCA) 2. Menu Bar Widget - Exibe USD e SELIC na barra de menus - Quick actions (refresh, abrir app, sair) 3. Expectativas Focus - SELIC esperada por reunião COPOM - IPCA/IGP-M 12 meses - PIB e Câmbio anuais 4. Instituições Financeiras - 4 categorias: Bancos, Cooperativas, Consórcios, Sociedades - Busca por nome/CNPJ - Distribuição por estado 5. PIX Stats - Volume diário/intraday - Disponibilidade SPI - Remuneração de contas 6. Configurações Avançadas - Auto-refresh configurável (30s a 1h) - Cache com expiração - Notificações de variação cambial - Exportação JSON/CSV - Launch at login (SMAppService) Padrões de Código - async/await para todas as chamadas de rede - @MainActor nos ViewModels e APIClient - LogManager centralizado com categorias - CacheManager com expiração configurável - Graceful degradation para endpoints instáveis do BCB Requisitos - macOS 14.0+ (Sonoma) - Swift 5.9 - Xcode 15+ Pontos de Atenção 1. O projeto tem Package.swift mas usa Xcode project (.xcodeproj) 2. Alguns endpoints do BCB (PIX Availability, Remuneration) retornam 500 frequentemente 3. O modelo Institution.swift é muito grande (~1000 linhas) - poderia ser dividido