Sistema de gerenciamento de biblioteca pessoal para livros em PDF com banco de dados SQLite.
- ✅ Upload de arquivos PDF
- ✅ Extração automática de metadados (título, autor, páginas)
- ✅ Armazenamento em banco de dados SQLite
- ✅ Busca por título ou autor
- ✅ Filtro por categoria
- ✅ Edição de informações dos livros
- ✅ Exclusão de livros
- ✅ Estatísticas da biblioteca
- ✅ Gráficos de visualização
- ✅ Detecção de duplicatas por hash MD5
- Python 3.8 ou superior
- pip (gerenciador de pacotes Python)
-
Clone ou baixe este projeto
-
Instale as dependências:
pip install -r requirements.txt- Execute o aplicativo:
streamlit run app.py- Acesse no navegador:
http://localhost:8501
-
Faça login em share.streamlit.io
-
Conecte sua conta do GitHub
-
Crie um novo repositório no GitHub com os arquivos:
app.pyrequirements.txtREADME.md
-
No Streamlit Cloud, clique em "New app"
-
Selecione seu repositório e branch
-
Defina o arquivo principal:
app.py -
Clique em "Deploy"
- Selecione "📥 Adicionar Livro" no menu lateral
- Faça upload do arquivo PDF
- Preencha as informações (título é obrigatório)
- Clique em "💾 Salvar na Biblioteca"
- Selecione "📖 Biblioteca" no menu lateral
- Use a busca para encontrar livros
- Filtre por categoria
- Edite ou delete livros conforme necessário
- Selecione "📊 Estatísticas" no menu lateral
- Visualize métricas e gráficos da sua biblioteca
O sistema cria automaticamente um arquivo biblioteca.db que armazena:
- Título, autor, ano, categoria
- Idioma, número de páginas
- Hash do arquivo (para evitar duplicatas)
- Nome do arquivo original
- Data de adição
- Notas personalizadas
- Detecção de arquivos duplicados via hash MD5
- Validação de tipo de arquivo (apenas PDF)
- Armazenamento local dos metadados
Este repositório está configurado para implantação contínua no Cloud Run usando Buildpacks do Google Cloud via Cloud Build.
- Conta no Google Cloud
- Repositório conectado ao Cloud Build
- No console do Google Cloud, acesse Cloud Run
- Clique em Criar serviço → Implantação contínua com o Cloud Build
- Conecte seu repositório GitHub
- Configure:
- Branch:
^main$ - Tipo de build: Buildpacks do Google Cloud
- Diretório de contexto:
/ - Ponto de entrada: (deixe em branco)
- Destino da função: (deixe em branco)
- Branch:
- Clique em Criar
O Buildpack detecta automaticamente o Python via requirements.txt e usa o Procfile para iniciar o Streamlit na porta definida pela variável $PORT.
- Os arquivos PDF não são armazenados no banco de dados, apenas os metadados
- O banco de dados SQLite é criado na mesma pasta do aplicativo
- Para backup, copie o arquivo
biblioteca.db
Sugestões e melhorias são bem-vindas!
Este projeto é de código aberto e está disponível sob a licença MIT.