{"id":29182697,"url":"https://github.com/0prashantyadav0/scrapbot","last_synced_at":"2026-04-11T13:02:55.752Z","repository":{"id":290159689,"uuid":"973063606","full_name":"0PrashantYadav0/ScrapBot","owner":"0PrashantYadav0","description":"Web scraping with a Retrieval Augmented Generation (RAG) chatbot.","archived":false,"fork":false,"pushed_at":"2025-06-09T11:31:29.000Z","size":11742,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-09T12:37:14.091Z","etag":null,"topics":["beautifulsoup","chatbot","fastapi","rag","react","vite","web-scraping"],"latest_commit_sha":null,"homepage":"https://restaurant-scraper-rag-bot.onrender.com","language":"Jupyter Notebook","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/0PrashantYadav0.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}},"created_at":"2025-04-26T07:11:48.000Z","updated_at":"2025-06-09T11:31:33.000Z","dependencies_parsed_at":"2025-04-27T09:29:51.493Z","dependency_job_id":"505b6be7-6564-4b1c-8956-1dd9700514a3","html_url":"https://github.com/0PrashantYadav0/ScrapBot","commit_stats":null,"previous_names":["0prashantyadav0/restaurant-scraper-rag-bot","0prashantyadav0/scrapbot"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/0PrashantYadav0/ScrapBot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0PrashantYadav0%2FScrapBot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0PrashantYadav0%2FScrapBot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0PrashantYadav0%2FScrapBot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0PrashantYadav0%2FScrapBot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/0PrashantYadav0","download_url":"https://codeload.github.com/0PrashantYadav0/ScrapBot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0PrashantYadav0%2FScrapBot/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263032595,"owners_count":23403019,"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","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":["beautifulsoup","chatbot","fastapi","rag","react","vite","web-scraping"],"created_at":"2025-07-01T20:30:46.360Z","updated_at":"2025-12-30T22:19:08.841Z","avatar_url":"https://github.com/0PrashantYadav0.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ScrapBot\n\n## Overview\n\nThis repository contains a web scraping and data processing project designed to collect restaurant data from various sources, construct a knowledge base using Retrieval-Augmented Generation (RAG), and provide a user-friendly interface for querying this data. The project utilizes Python, FastAPI for the backend, and React for the frontend.\n\n## Features\n\n-   **Web Scraping:** Collects data from specified restaurant sources.\n-   **Knowledge Base Construction:** Processes scraped data and builds a vector store for efficient querying using RAG techniques.\n-   **FastAPI Backend:** Serves the processed data and handles RAG-based queries via API endpoints, including WebSocket support for chat.\n-   **React Frontend:** Provides an interactive user interface for asking questions, chatting with the bot (with session management), viewing restaurant details, and browsing menus.\n-   **RAG Implementation:** Allows users to ask natural language questions about restaurants (general or specific), compare prices, check for dietary options (e.g., gluten-free), and more, leveraging the constructed knowledge base.\n-   **Docker Support:** Includes Docker configuration for simplified setup and deployment.\n-   **Data Processing \u0026 Storage:** Manages the storage and retrieval of restaurant information and menu items.\n-   **Logging \u0026 Error Handling:** Implements basic logging and error management.\n-   **Configuration Management:** Uses configuration files for managing settings.\n\n## Live Demo and Functionality\n\n### Deployed Application\n\nAccess the live application here: **[https://restaurant-scraper-rag-bot.onrender.com/](https://restaurant-scraper-rag-bot.onrender.com/)**\n\n### Demo Video\n\n[Demo Video](https://youtu.be/pDOFJSV_tNQ?si=QwroCY3DM35uH0lv) provides a walkthrough of the application, showcasing its features and functionality. (Please use headphones for a better experience.)\n\n### Key Features Showcase\n\n1.  **Ask General Questions:** Query the entire restaurant database. The RAG bot responds with relevant information based on the knowledge base. Compare prices, check dietary options, etc.\n    ![Ask Questions](assets/ask-question.png)\n\n2.  **General ChatBot:** Engage in a conversation with the chatbot using WebSockets and session management. The bot maintains context and answers based on the knowledge base.\n    ![ChatBot](assets/chatbot.png)\n\n3.  **Ask Specific Restaurant Questions:** Focus queries on a single restaurant.\n    ![Ask Questions to one Restaurant only](assets/ask-question-id.png)\n\n4.  **Specific Restaurant ChatBot:** Chat specifically about one restaurant, maintaining context via WebSockets.\n    ![ChatBot to one Restaurant only](assets/chatbot-id.png)\n\n5.  **View Menu:** Browse the menu of a specific restaurant with details and images.\n    ![View menu](assets/view-menu.png)\n\n6.  **View Restaurant Details:** Access comprehensive information about a specific restaurant (address, phone, website, etc.).\n    ![View restaurant details](assets/restaurant-info.png)\n\n## Setup Guide\n\n[SETUP.md](SETUP.md) provides a detailed setup guide for running the project locally, including instructions for installing dependencies, configuring the environment, and launching the application.\n\n## Architecture\n\n[ARCHITECTURE.md](ARCHITECTURE.md) provides an overview of the system architecture, detailing the data flow, components (scraper, backend, frontend, knowledge base), and their interactions.\n\n## Contributing\n\nContributions are welcome! Please follow standard GitHub practices: open an issue to discuss changes or submit a pull request with your improvements. Adhere to the project's coding standards and guidelines.\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n\n## Acknowledgements\n\nThis project was inspired by the need for a comprehensive tool for restaurant data scraping, analysis, and querying using modern AI techniques. Thanks to the open-source community.\n\n## Contact\n\nFor inquiries or feedback, contact the project maintainer via their website: [prashantyadav.site](https://prashantyadav.site).\n\n## Author\n\n-   **Prashant Yadav**\n    -   GitHub: [0PrashantYadav0](https://github.com/0PrashantYadav0)\n    -   LinkedIn: [prashantyadav097](https://www.linkedin.com/in/prashantyadav097/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0prashantyadav0%2Fscrapbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F0prashantyadav0%2Fscrapbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0prashantyadav0%2Fscrapbot/lists"}