{"id":31906348,"url":"https://github.com/jasp-nerd/bookbuddy","last_synced_at":"2025-10-13T14:25:45.149Z","repository":{"id":300753286,"uuid":"1007038807","full_name":"jasp-nerd/BookBuddy","owner":"jasp-nerd","description":"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","archived":false,"fork":false,"pushed_at":"2025-09-27T18:56:31.000Z","size":206,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-27T20:45:15.425Z","etag":null,"topics":["books","gemini-api","google","heroku"],"latest_commit_sha":null,"homepage":"https://bookbuddy-copy.vercel.app","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jasp-nerd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-06-23T11:19:39.000Z","updated_at":"2025-09-27T18:56:35.000Z","dependencies_parsed_at":"2025-09-27T20:45:23.167Z","dependency_job_id":null,"html_url":"https://github.com/jasp-nerd/BookBuddy","commit_stats":null,"previous_names":["jasp-nerd/bookbuddy-copy","jasp-nerd/bookbuddy"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jasp-nerd/BookBuddy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jasp-nerd%2FBookBuddy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jasp-nerd%2FBookBuddy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jasp-nerd%2FBookBuddy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jasp-nerd%2FBookBuddy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jasp-nerd","download_url":"https://codeload.github.com/jasp-nerd/BookBuddy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jasp-nerd%2FBookBuddy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279015725,"owners_count":26085748,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["books","gemini-api","google","heroku"],"created_at":"2025-10-13T14:25:39.887Z","updated_at":"2025-10-13T14:25:45.140Z","avatar_url":"https://github.com/jasp-nerd.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BookBuddy - Book Recommendation System\n\n![Build Status](https://img.shields.io/badge/build-passing-brightgreen)\n![License](https://img.shields.io/badge/license-MIT-blue)\n![Python](https://img.shields.io/badge/python-3.8+-blue)\n![Node.js](https://img.shields.io/badge/node.js-16+-green)\n\n\u003e A digital library web application for managing personal book collections with AI-powered recommendations\n\n🌐 **Live Demo:** [https://bookbuddy.jasper-ai.tech/](https://bookbuddy.jasper-ai.tech/)\n\n\u003cimg width=\"1897\" height=\"993\" alt=\"image\" src=\"https://github.com/user-attachments/assets/228d13fc-62f1-4534-88ff-bb6c9efeb242\" /\u003e\n\n## Quick User Guide 📚\n\n**Getting Started:** Enter any User ID and name to sign in (try the demo users!)\n\n**Key Features:**\n- **Click book thumbnails** to see details, reviews, and book info\n- **Search** for books or browse popular ones on the homepage\n- **Add books** to Favorites, Read, or Want to Read lists\n- **Manage your library** - switch between collections and remove books\n- **Chat with AI** for personalized book recommendations\n- **Write reviews** and rate books 1-5 stars\n\n## Features\n\nBookBuddy 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.\n\n## Prerequisites\n\n### Backend Requirements\n- **Python 3.8+** and pip\n- **Google Books API Key** - Get one from [Google Cloud Console](https://console.cloud.google.com/)\n- **Gemini API Key** - Get one from [Google AI Studio](https://aistudio.google.com/apikey)\n\n### Frontend Requirements\n- **Node.js 16+** and npm\n- Modern web browser (Chrome, Firefox, Safari, Edge)\n\n## Setup Instructions\n\n### 1. Clone the Repository\n```bash\ngit clone https://github.com/VU-Applied-Programming-for-AI-2025/hactics-jasp-nerd-omarouaissa-s2486-general-template\ncd hactics-jasp-nerd-omarouaissa-s2486-general-template\n```\n\n### 2. Backend Setup\n\n#### Install Python Dependencies\n```bash\npip install -r requirements.txt\n```\n\n#### Environment Variables\nCreate a `.env` file in the root directory with the following keys:\n```env\nAPI_KEY=your_google_books_api_key\nGEMINI_API_KEY=your_gemini_api_key\n```\n\n#### Run the Backend\n```bash\npython backend/app.py\n```\nThe backend will start on `http://127.0.0.1:5000/` by default.\n\n### 3. Frontend Setup\n\n#### Install Node.js Dependencies\nNavigate to the frontend directory and install dependencies:\n```bash\ncd frontend\nnpm install\n```\n\n#### Run the Frontend Development Server\n```bash\nnpm start\n```\nThe frontend will start on `http://localhost:3000/` by default.\n\n\n## Troubleshooting\n\nIf you encounter database issues, delete the database file:\n```bash\nrm backend/instance/bookbuddy.db\n```\n\nTested and made using WSL ubuntu. (Guaranteed working.)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjasp-nerd%2Fbookbuddy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjasp-nerd%2Fbookbuddy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjasp-nerd%2Fbookbuddy/lists"}