Skip to content

Rorchive/BookMatch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

C02 - BookMatch

Static Badge GitHub Issues GitHub Pull Requests GitHub contributors

OverviewRepository OrganizationUsage & OperationAcknowledgmentsLicense

Overview

BookMatch is a book recommendation system developed as the final project for the Algorithms and Data Structures I (C02) course at Inatel. The system analyzes individual preferences and reading patterns from similar users to create personalized recommendations. It applies fundamental data structures, search algorithms, sorting, and object-oriented programming in a practical C++ terminal application. Key features include user management with SHA-512 hashed passwords, a complete book catalog, and a behavior-based recommendation engine.


BookMatch Logo

Repository Organization

  • assets: Project images, logos, and diagrams.
  • src: Main C++ source code and implementation files.

Usage & Operation

The project requires CMake (>= 3.20), a C++20 compatible compiler (g++ 10+, clang 10+, or MSVC 2019+), and the Botan cryptography library installed on your system. Dependencies like nlohmann/json and tabulate are fetched automatically during the build process.

Linux Compilation

# Install prerequisites (Ubuntu/Debian)
sudo apt update && sudo apt install -y build-essential cmake libbotan-2-dev

# Clone, build, and run
git clone https://github.com/Rorchive/BookMatch.git
cd BookMatch
mkdir build && cd build
cmake ..
cmake --build .
./BookMatch

Windows Compilation (MSYS2 MinGW 64-bit)

# Install prerequisites in MSYS2
pacman -Syu
pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-cmake mingw-w64-x86_64-botan

# Clone, build, and run
git clone https://github.com/Rorchive/BookMatch.git
cd BookMatch
mkdir build && cd build
cmake .. -G "MinGW Makefiles"
cmake --build .
./BookMatch.exe

Acknowledgments

  • Cryptography and hashing powered by Botan.
  • JSON parsing implemented via nlohmann/json.
  • Terminal UI tables generated using tabulate.

License

This software project is licensed under the MIT License. Please note that included third-party dependencies, libraries, or APIs may be subject to their own respective licenses. All materials are provided "as is" without warranty of any kind, and the authors assume no liability for any direct or indirect damages, claims, or issues arising from their compilation, use, or implementation.


Rorchive Logo
📜 This project is part of Rorchive, my personal archive of activities and courses developed during my studies at Inatel.

Built with ❤️ by Rodrigo de Carvalho Andrade

About

BookMatch é um sistema de recomendação de livros desenvolvido como projeto final da disciplina de Algoritmos e Estruturas de Dados I (C02).

Topics

Resources

License

Stars

Watchers

Forks

Contributors