Skip to content

BookBuddy is a digital library web application that allows users to manage their personal book lists, including books they have read, want to read, and their favorites. Users can search for books, get personalized recommendations, and write/read reviews. The app uses the Google Books API and integrates with Gemini AI for book recommendations

Notifications You must be signed in to change notification settings

jasp-nerd/BookBuddy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BookBuddy - Book Recommendation System

Build Status License Python Node.js

A digital library web application for managing personal book collections with AI-powered recommendations

🌐 Live Demo: https://bookbuddy.jasper-ai.tech/

image

Quick User Guide 📚

Getting Started: Enter any User ID and name to sign in (try the demo users!)

Key Features:

  • Click book thumbnails to see details, reviews, and book info
  • Search for books or browse popular ones on the homepage
  • Add books to Favorites, Read, or Want to Read lists
  • Manage your library - switch between collections and remove books
  • Chat with AI for personalized book recommendations
  • Write reviews and rate books 1-5 stars

Features

BookBuddy is a digital library web application that allows users to manage their personal book lists, including books they have read, want to read, and their favorites. Users can search for books, get personalized recommendations, and write/read reviews. The app uses the Google Books API and integrates with Gemini AI for chat-based book recommendations.

Prerequisites

Backend Requirements

Frontend Requirements

  • Node.js 16+ and npm
  • Modern web browser (Chrome, Firefox, Safari, Edge)

Setup Instructions

1. Clone the Repository

git clone https://github.com/VU-Applied-Programming-for-AI-2025/hactics-jasp-nerd-omarouaissa-s2486-general-template
cd hactics-jasp-nerd-omarouaissa-s2486-general-template

2. Backend Setup

Install Python Dependencies

pip install -r requirements.txt

Environment Variables

Create a .env file in the root directory with the following keys:

API_KEY=your_google_books_api_key
GEMINI_API_KEY=your_gemini_api_key

Run the Backend

python backend/app.py

The backend will start on http://127.0.0.1:5000/ by default.

3. Frontend Setup

Install Node.js Dependencies

Navigate to the frontend directory and install dependencies:

cd frontend
npm install

Run the Frontend Development Server

npm start

The frontend will start on http://localhost:3000/ by default.

Troubleshooting

If you encounter database issues, delete the database file:

rm backend/instance/bookbuddy.db

Tested and made using WSL ubuntu. (Guaranteed working.)

About

BookBuddy is a digital library web application that allows users to manage their personal book lists, including books they have read, want to read, and their favorites. Users can search for books, get personalized recommendations, and write/read reviews. The app uses the Google Books API and integrates with Gemini AI for book recommendations

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published