Stack e arquitetura do aplicativo desktop para estúdios de tatuagem.
O Ink Agenda é desenvolvido em Java 21 (LTS) com interface gráfica em JavaFX 21.0.11. Recursos modernos da linguagem (records, sealed interfaces) e UI nativa desktop, sem dependência de navegador.
Persistência em SQLite no seu computador: o sistema não depende de internet para funcionar e nunca fica “fora do ar” por falha de conexão. Blindagem de Dados inclui modo WAL (Write-Ahead Logging), verificação de integridade na abertura, backups automáticos compactados (GZIP) a cada hora e no fechamento do app, e encerramento limpo com VACUUM. A estratégia segue o princípio do Antifrágil (Nassim Nicholas Taleb), como no PDV Cara Core: ganhar com choques e perturbações, não só resistir. Os dados do tatuador ficam protegidos e recuperáveis.
Domínio: entidades (Appointment, Expense, ExpenseType) e contratos de repositório (AppointmentRepository, ExpenseRepository). Core: tipo Result para operações que podem falhar. Desktop: aplicação JavaFX com janela principal. Persistência em SQLite local; integrações futuras em implementações dos repositórios.
Maven para build e dependências. JUnit 5 para testes unitários e JaCoCo para cobertura (mínimo 80% em domínio e core). O gate oficial recente foi validado com mvn verify e bootstrap demo oficial após o hardening do JavaFX. Comandos usuais: mvn compile, mvn test, mvn package e mvn verify.
O Ink Agenda opera 100% offline por padrão: nenhuma funcionalidade depende de internet. Este é o princípio central dos produtos Cara Core Informática.
Modo padrão (sempre ativo): acesso por celular + senha local, armazenados em SQLite no computador do tatuador. Funciona sem qualquer configuração adicional e sem conta em serviços externos.
OIDC com Google (opcional): o app suporta autenticação via OpenID Connect Authorization Code + PKCE (RFC 8252) com Google Identity. Este recurso fica desativado por padrão e só é ativado se o estúdio configurar o arquivo oidc.properties no AppData com credenciais Google Cloud próprias. Sem essa configuração, o app usa exclusivamente a autenticação local — nenhuma tela ou função é bloqueada por isso.
Distribuído como APP_IMAGE (pasta portátil, ZIP) para Windows, DMG para macOS e pacote DEB para Linux via jpackage — runtime Java 21 embutido, sem necessidade de JDK instalado no sistema. Código-fonte ofuscado com ProGuard antes do empacotamento: 28 classes e 106 métodos ofuscados na linha RC, sem exigir JDK no host.
Ecossistema Cara Core Informática — Produtos desktop e web com foco em simplicidade, manutenção e entrega clara. Ink Agenda integra o portfólio ao lado do PDV, Seed, Hub e outros.
Status e próximos passos