-
Notifications
You must be signed in to change notification settings - Fork 0
Architecture
O aplicativo permanece:
- desktop;
- local;
- síncrono;
- sem servidor;
- sem ORM;
- sem pool de conexão;
- sem runtime assíncrono.
Slint apresenta a interface, o domínio valida os dados e QsoRepository encapsula SQLite/rusqlite.
src/database/
├── health.rs
├── migrations.rs
└── repository/
├── mod.rs
├── queries.rs
├── adif.rs
├── backup.rs
└── stress.rs
-
mod.rs: conexão, agregado QSO, CRUD e transações; -
queries.rs: listagem, paginação, busca, filtros e materialização; -
adif.rs: preview, importação, exportação e extras; -
backup.rs: snapshot, integridade e durabilidade; -
health.rs: inspeção read-only e invariantes; -
migrations.rs: evolução transacional do schema.
- foreign keys habilitadas;
- schemas futuros recusados;
- migrations transacionais;
-
quick_checkeforeign_key_check; - QSO + metadata específica são transacionais;
- SQLite é a fonte de verdade;
- schema atual: 7.
ModeMetadata consolida:
- Generic;
- Dmr;
- Ft8;
- Dstar;
- Ysf.
A variante deve corresponder ao modo normalizado.
digital_routes continua específico de DMR.
D-STAR possui dstar_metadata.
YSF/C4FM possui ysf_metadata.
A listagem usa ordenação:
datetime_start_utc DESC, id DESC
e paginação LIMIT/OFFSET.
O projeto manteve essa abordagem porque os testes de escala não justificaram uma mudança.
A detecção é apenas aviso.
Não existe constraint UNIQUE para impedir duplicados intencionais.
Veja Arquitetura da UI.
Para um novo modo, siga Adicionar modo digital.
Home · Primeiros passos · Solução de problemas · Repositório
Digital Ham Radio Logbook · documentação da comunidade/projeto
Comece aqui
Guia do usuário
Dados e interoperabilidade
- Importar ADIF
- Exportar ADIF
- Compatibilidade ADIF
- Backup e saúde dos dados
- Recuperação de dados
- Dados e privacidade
Configuração
Suporte
Desenvolvimento
- Guia do desenvolvedor
- Build e ambiente
- Arquitetura
- Arquitetura da UI
- Adicionar modo digital
- Processo de release
Projeto