[Programa] Bíblia Offline com anotações e busca recursiva

Olá a todos.
Criei uma Bíblia Offline em Python com a interface gráfica QT com funções que considero importantes para quem gosta de estudar a Bíblia. Uma das funções é um sistema de anotações integradas com cada capítulo da Bíblia, a outra função é uma busca recursiva por alguma palavra em todos os livros. Segue abaixo o link do repositório:

Como que “nasceu” a ideia para esse projeto?

Há aproximadamente 3 anos atrás tive que desenvolver um site para a Bíblia. Quando o site ficou pronto fiquei com todos os arquivos de texto da Bíblia que tive que editar capítulo por capítulo ( se não me engano durou uns 3 meses essa brincadeira :rofl:) .
Enfim, com toda a estrutura já pronta precisa só de uma interface gráfica e pronto.
Mas depois me deparei no dilema do programador. Ficava me perguntando se esse programa era realmente útil já que para ler a Bíblia existem vários sites e o livro físico também é fácil de adquirir (até de graça acha). No meu ponto de vista era só mais um Bíblia entre milhares onde eu poderia ler as mesmas palavras.
Foi então que eu criei mais dois programas que deram sentido para a aplicação; anotações e busca recursiva (conhecida pela galera da Teologia por "Chave Bíblica). Como todos os capítulos da Bíblia estão em arquivos de texto separados ficou bem fácil implementar essas ideias.

A Bíblia Offline é um projeto ainda em desenvolvimento

Eu sou apenas um entusiasta de programação, então provavelmente algumas coisas no código podem ser melhoradas. Ou alguém, com mais conhecimento, desenvolveria o código de outra forma.
Se alguém aqui da comunidade tiver um tempo e puder dar uma olhada no código, eu ficaria muito grato pelo feedback.

Instalação

No repositório tem todas as informações necessárias para instalar a Bíblia Offline. Infelizmente ainda não tive tempo para aprender a empacotar o programe em .deb, flatpak etc, portanto a instalação está sendo feita através de um shell script install.sh que pode ser encontrado no repositório.
Gastei um tempo para fazer o script de instalação, mas se alguém puder revisá-lo e ver se está “ok”, desde já agradeço.

O que falta?

  • Eu desenvolvi o sistema no Ubuntu 24.04 LTS e por algum motivo estou tendo problemas com os ícones da aplicação que não aparecem na dock, ao invés aparece um ícone genérico como está na imagem. No Kde Plasma (Debian 12) aparece normalmente os ícones.
  • Ainda não fiz um ícone personalizado para a aplicação, fiz com IA mesmo por enquanto. Se algum artista de plantão quiser ajudar, TMJ.
  • O aplicativo ainda está “preso” no tema Adwaita-dark com a cor de destaque laranja do Ubuntu.
  • O Editor de texto das anotações ainda não tem opções de edição, mudar fonte etc.

Uma ideia que pode ser aplicada para outros livros:

Depois de terminar o programa, percebi que posso fazer o mesmo para qualquer livro, porém sempre parto da filosofia que os programas devem ter um sentido de existir. Então, nesse último tópico desse post, gostaria de opinião de vocês, qual livro seria interessante “transformar” em um programa?

Vlw rapaziada!

6 curtidas

Alterações feitas dia 26 de outubro 2024

  • Agora não há uma versão específica para o pyQt5. O pip instalará a versão atual disponível. O motivo para isso é que se o pip não estiver atualizado pode acontecer de ele não encontrar a versão específica do pyQt5.
  • Durante a instalação, o Teste para ver se o Python já possui o módulo venv foi alterado:
# Verificar se o módulo venv está disponível executando python3 -m venv em um diretório temporário
TEMP_DIR=$(mktemp -d)
if ! python3 -m venv "$TEMP_DIR" 2>/dev/null; then
    echo "Erro: O módulo venv do Python não está disponível. Instale-o e tente novamente."
    rm -rf "$TEMP_DIR"  # Remover o diretório temporário antes de sair
    exit 1
fi

# Limpeza do diretório temporário
rm -rf "$TEMP_DIR"
echo "O módulo venv está disponível. Continuando com a instalação..."

alguém sabe se essa é a melhor forma de fazer o teste acima? Tentei de várias formar identificar se o venv já estava no Python, mas só tive sucesso dessa forma. Antes verificava se o sistema tinha um arquivo específico /usr/share/doc/python3-venv o que comprovou não ser um teste eficiente em sistemas que não são baseados no debian.
Nesse novo teste, o script simula uma criação de um ambiente virtual Python dentro de /tmp. Alguém pode me dizer se isso é uma boa prática?

Acabei de fazer o teste no openSUSE Leap

Inclusive no openSUSE os ícones da aplicação apareceram normalmente, diferente do que aconteceu no Ubuntu 24.04 LTS

No Arch Linux:

Testei a Bíblia no Arch Linux em uma VM do gnome-boxes. Devido a filosofia do Arch de deixar o sistema “enxuto” de pacotes, nem mesmo o pacote qt5-base estava instalado. O programa usa o QT como interface gráfica então depende do qt5-base.
Diferentemente do ArchLinux, a maioria das outras distribuições já tem o Qt5 instalado por padrão.
Obs: no XFCE os ícones da aplicação também não apareceram na barra de título da janela e também na barra de tarefas.

4 curtidas