BookMatch é um sistema de recomendação de livros desenvolvido como projeto final da disciplina de Algoritmos e Estruturas de Dados I (C02) do curso de Engenharia de Telecomunicações do Instituto Nacional de Telecomunicações. O sistema analisa preferências individuais e padrões de leitura de usuários similares para criar recomendações personalizadas.
O projeto aplica conceitos fundamentais do curso (estruturas de dados, condições, repetições e manipulação de arquivos) e expande para tópicos avançados como algoritmos de busca, ordenação e programação orientada a objetos, tudo em um projeto prático e realista.
- Fornecer recomendações personalizadas de livros
- Incentivar o hábito da leitura
- Criar uma comunidade de leitores
- Facilitar a descoberta de novos títulos
- Melhorar a experiência de leitura
- Cadastro e login de usuários
- Perfil personalizado
- Histórico de leituras
- Lista de desejos
- Avaliações e resenhas
- Catálogo completo de livros
- Informações detalhadas (título, autor, ISBN, etc.)
- Avaliações e classificações
- Gêneros e categorias
- Descrições e sinopses
- Análise de preferências do usuário
- Recomendações baseadas em comportamento
- Sugestões de usuários similares
- Tendências e popularidade
- Filtros personalizados
- Senhas criptografadas com SHA-512
- Validação de dados de entrada
- Proteção contra injeção de dados
- Sanitização de strings
- CMake >= 3.20
- Compilador C++20 (g++ 10+, clang 10+, MSVC 2019+)
- Botan (criptografia/hash de senha)
- nlohmann/json (JSON, incluído automaticamente pelo CMake)
- tabulate (tabelas no terminal, incluído automaticamente pelo CMake)
⚠️ As dependências nlohmann/json e tabulate são baixadas automaticamente pelo CMake via FetchContent. O Botan deve estar instalado no sistema.
sudo apt update && sudo apt install -y build-essential cmake libbotan-2-dev# Clone o repositório e entre na pasta
cd BookMatch
mkdir build
cd build
cmake ..
cmake --build ../BookMatch- Instale o MSYS2 e abra o terminal MSYS2 MinGW 64-bit
- Execute:
pacman -Syu
pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-cmake mingw-w64-x86_64-botan# No terminal MSYS2 MinGW 64-bit
cd BookMatch
mkdir build
cd build
cmake .. -G "MinGW Makefiles"
cmake --build ../BookMatch.exeSe preferir usar o Visual Studio, basta abrir a pasta do projeto e usar o CMake integrado, mas o Botan deve estar instalado e configurado no sistema.
- Faça um Fork do projeto
- Crie uma Branch para sua Feature (
git checkout -b feature/AmazingFeature) - Commit suas mudanças (
git commit -m 'Add some AmazingFeature') - Push para a Branch (
git push origin feature/AmazingFeature) - Abra um Pull Request
Feito com ❤️ por Rodrigo Andrade

