Sobre o projeto
Kanpan (nome do produto Hkline) é um aplicativo iOS nativo em Swift para cotações, watchlist e revisão. A interface usa SwiftUI, os gráficos são desenhados com UIKit/CoreGraphics, o app não tem dependências de terceiros e não oferece função de negociação/ordens. Os dados de mercado vêm da API pública de perpétuos USDT da Binance; a opção "Linha de mercado" nas configurações oferece dois modos: conexão direta (somente domínios da Binance) e gateway (duas VPS para obter cotações da OKX), escolhidos manualmente pelo usuário, sem troca automática e sem mistura de fontes.
Principais funções
- Temas: três conjuntos, "Musgo·Frio", "Terracota·Quente" e "Clássico", cada um com modo claro e escuro, podendo seguir o sistema ou ser definido manualmente. As cores do candle são únicas; o tema afeta apenas as áreas fora do gráfico.
- Barra inferior: barra de abas fixa com cinco itens de largura igual: "Desenho · Gráfico · Watchlist · Setores · Configurações"; "Desenho" é uma ação que, ao ser tocada, entra em modo paisagem para desenhar e retorna automaticamente.
- Página de cotações: a barra superior contém o selo do ativo, o nome do ativo, a entrada de revisão (com badge de pendências) e a entrada de busca; o bloco de preço mostra o último preço, variação absoluta e percentual, com seis estatísticas fixas à direita (posição/volume, valor de mercado/taxa, liquidação/amplitude). A faixa de períodos tem seis opções comuns de largura igual; todas as 14 opções (1m a 1y) podem ser fixadas ou removidas em "Mais". Deslizar horizontalmente na área de preço alterna continuamente entre ativos.
- Página de watchlist: as linhas da lista contêm selo do ativo, preço e pílula de variação, com suporte a pastas de categorias, ordenação (incluindo critério de variação percentual e "mais próximo da linha de alerta"), pré-visualização somente leitura ao pressionar e segurar, reordenação por arrasto, exclusão por deslize ou em lote com desfazer. Na inicialização a frio, se houver favoritos, abre a watchlist; caso contrário, abre BTC.
- Setores: quarto item da barra inferior, uma camada de bolhas de setores; ao tocar, abre a lista de ativos do setor, com alternância fixa no topo entre cripto e ações dos EUA.
- Gráfico: reproduz a sensação do AICoin. O gráfico principal suporta médias móveis (10/30/120/256), média exponencial e Bandas de Bollinger; os subgráficos padrão são volume, open interest e MACD, no máximo três simultâneos, com candidatos adicionais como RSI, estocástico, ATR, proporção long/short, proporção de compra/venda ativa e base. Suporta livro de ofertas de dez linhas, zoom com dois dedos, zoom com foco histórico, eixo Y manual, última barra colada à borda direita e amortecimento ao ultrapassar limites. Inclui 41 ferramentas de desenho (nove grupos), e desenho e gráfico compartilham as mesmas coordenadas.
- Alertas: módulo independente. Após desenhar, a linha de preço no cabeçalho vira um cartão de confirmação, permitindo definir dois critérios: "quando tocar" ou "quando fechar atravessando", com suporte a novo alerta. Em primeiro plano, o AlertEngine avalia localmente; em segundo plano, o serviço kanpan-worker avalia no servidor e sincroniza de volta, com deduplicação pelo estado active. Sem chave APNs, a função continua disponível, apenas sem banner na tela bloqueada.
- Revisão: registrar uma operação, lista/pendências/estatísticas, detalhes, revisão barra a barra, busca de similaridade com OHLC privado; o registro fica fixado à fonte de mercado à qual pertence.
- Conta: registro e login com nome de usuário e senha, sessão no Keychain, gerenciamento de dispositivos, alteração de senha, exclusão de conta; dados pessoais isolados por diretório de conta; sincronização na nuvem baseada em fila de pendências; sem registro por e-mail.
Estrutura do código
- Kanpan/Kanpan/: páginas do app, incluindo Main, Symbols, Sector, Panels, Settings, Drawing, Account, ReviewIntegration.
- Kanpan/Symbols, Kanpan/Settings: dois pacotes locais, KanpanSymbols e KanpanSettings, com testes unitários.
- Kanpan/KanpanUITests/: XCUITest, localizando controles por accessibilityIdentifier.
- KanpanCore/: algoritmos em Swift puro para coordenadas, layout, indicadores, desenho e paletas de tema.
- KanpanChart/: gráfico desenhado e gestos UIKit.
- KanpanNetwork/: interfaces mínimas HTTP/WS, cliente REST/WS da Binance e limitação de taxa, linha de mercado, corrida de gateway e resfriamento.
- KanpanData/: feed de mercado, catálogo, histórico de OI, snapshots e cache.
- KanpanAccount/, KanpanReview/: módulos de sincronização de conta e revisão.
- Backend/kanpan-gateway: gateway de mercado em duas VPS (Python + aiohttp, apenas sondagem somente leitura).
- Backend/kanpan-api: backend pessoal em Rust, responsável por conta, sincronização e índice de revisão.
- prototype/: protótipo HTML; docs/: índice de especificações, lista de trabalho e evidências de aceitação.
Compilação e verificação
Usa Swift 6, com alvo de implantação iOS 26.0 (iOS 27 também está no escopo de suporte; versões abaixo de 26 não são mais mantidas). Abra Kanpan/Kanpan.xcodeproj ou Kanpan.xcworkspace na raiz e selecione o scheme Kanpan. É possível usar swift test para testar separadamente KanpanCore, KanpanNetwork, KanpanData e Kanpan/Symbols; há também make strict e comandos de build para simulador com xcodebuild. A verificação é feita principalmente no simulador; casos de UI afetados são executados com timeout e capturas de tela são preservadas. O repositório não contém configurações de login de VPS, chaves privadas, senhas ou tokens.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.