{"id":16385065,"url":"https://github.com/vedanti-u/sitegenie","last_synced_at":"2025-03-23T04:31:23.601Z","repository":{"id":241896935,"uuid":"714699674","full_name":"vedanti-u/SiteGenie","owner":"vedanti-u","description":"Create AI-powered chatbots tailored to your website content, seamlessly integrate them into your website, and boost user engagement.","archived":false,"fork":false,"pushed_at":"2024-07-20T19:24:25.000Z","size":9335,"stargazers_count":3,"open_issues_count":5,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-18T17:40:25.460Z","etag":null,"topics":["aws","aws-lambda","clerkauth","expressjs","javascript","langchain","next","nodejs","openai","postgresql","serverless-framework","supabase","tailwindcss","tailwindui"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vedanti-u.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2023-11-05T16:14:39.000Z","updated_at":"2024-09-06T02:18:45.000Z","dependencies_parsed_at":"2024-06-08T08:24:31.496Z","dependency_job_id":"83b8f05f-031f-4df6-86b3-b146baaef451","html_url":"https://github.com/vedanti-u/SiteGenie","commit_stats":null,"previous_names":["vedanti-u/sitegenie"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vedanti-u%2FSiteGenie","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vedanti-u%2FSiteGenie/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vedanti-u%2FSiteGenie/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vedanti-u%2FSiteGenie/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vedanti-u","download_url":"https://codeload.github.com/vedanti-u/SiteGenie/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245056889,"owners_count":20553855,"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":["aws","aws-lambda","clerkauth","expressjs","javascript","langchain","next","nodejs","openai","postgresql","serverless-framework","supabase","tailwindcss","tailwindui"],"created_at":"2024-10-11T04:13:35.330Z","updated_at":"2025-03-23T04:31:22.126Z","avatar_url":"https://github.com/vedanti-u.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\u003ca href=\"\"\u003e\n    \u003cimg alt=\"comet\" src=\"assets/sitegenie-11.png\" height=160 \u003e\n\u003c/a\u003e\n\u003c/div\u003e\n\u003c/br\u003e\n\u003cdiv\u003e\n\u003cdiv align=\"center\"\u003e\n\n![Next JS](https://img.shields.io/badge/Next-black?style=plastic\u0026logo=next.js\u0026logoColor=white)\n![NodeJS](https://img.shields.io/badge/node.js-6DA55F?style=plastic\u0026logo=node.js\u0026logoColor=white)\n![Express.js](https://img.shields.io/badge/express.js-%23404d59.svg?style=plastic\u0026logo=express\u0026logoColor=%2361DAFB)\n![Javascript](https://img.shields.io/badge/JavaScript-323330?style=plastic\u0026logo=javascript\u0026logoColor=F7DF1E)\n![TailwindCSS](https://img.shields.io/badge/Tailwind_CSS-38B2AC?style=plastic\u0026logo=tailwind-css\u0026logoColor=white)\n![Postgres](https://img.shields.io/badge/postgres-%23316192.svg?style=plastic\u0026logo=postgresql\u0026logoColor=white)\n![Supabase](https://img.shields.io/badge/Supabase-3ECF8E?style=plastic\u0026logo=supabase\u0026logoColor=white)\n![OpenAI](https://img.shields.io/badge/OpenAI-412991.svg?style=plastic\u0026logo=OpenAI\u0026logoColor=white)\n![LangChain](https://img.shields.io/badge/Langchain-green)\n![AWS](https://img.shields.io/badge/AWS-%23FF9900.svg?style=plastic\u0026logo=amazon-aws\u0026logoColor=white)\n![Serverless](https://img.shields.io/badge/Serverless-red)\n![GitHub Actions](https://img.shields.io/badge/github%20actions-%232671E5.svg?style=plastic\u0026logo=githubactions\u0026logoColor=white)\n![Postman](https://img.shields.io/badge/Postman-FF6C37?style=plastic\u0026logo=postman\u0026logoColor=white)\n\u003cbr/\u003e\n\u003cbr/\u003e\n\n\u003c/div\u003e\n\n\u003c/div align=\"left\" \u003e\n\nhttps://github.com/user-attachments/assets/c204dadd-e987-4574-ae91-5e45768282d4\n\n\n\n\n\n\n\n## About SiteGenie\n\n**SiteGenie** is an innovative AI chatbot meticulously designed to enhance website interactions. Trained on user-provided links, this advanced chatbot seamlessly integrates with websites, delivering instant responses and boosting user engagement. It expedites interactions by eliminating time-consuming searches, significantly improving operational efficiency.\n\u003c/br\u003e\n\n## Features\n\n- **Tailored Data Training:** Our chatbot receives specialized training from carefully selected web pages, nurturing a vast knowledge base for GPT model proficiency.\n- **Enhanced Knowledge Base:** Ingest website content into a searchable knowledge base to ensure a robust reference source for chatbot training, enabling accurate and contextually relevant responses.\n- **Instantaneous Responses:** The chatbot promptly addresses user queries regarding website content, eliminating the need for human intervention and significantly reducing user wait time.\n- **Effortless Integration:** Easily embed the chatbot directly onto any website using HTML iframe embedding, with advanced customization options and theming to enrich user satisfaction and engagement.\n- **Responsive and Efficient Design:** Implemented as an end-to-end solution that works on multiple screen sizes with the help of Tailwind CSS, enabling users to efficiently accomplish tasks without navigating multiple pages.\n  \u003c/br\u003e\n\n_SiteGenie aims to deliver an intuitive and effective solution for crafting, personalizing, and launching AI-driven chatbots, ultimately elevating user engagement and satisfaction across various domains and industries._\n\n\u003ch1\u003e\u003cimg src=\"assets/sitegenie-small.png\" alt=\"Comet Logo\" width=\"35\" height=\"35\"\u003e Try SiteGenie\u003c/h1\u003e\n\n\u003c!--`Link to install`\nScreenshot of landing page\n--\u003e\n## 💡 How SiteGenie works ?\n\n```mermaid\nsequenceDiagram\n    participant User\n    participant System\n    participant Langchain\n    participant OpenAI\n    participant Supabase\n    participant AWS Lambda\n\n    User -\u003e\u003e System: Request website URL\n    System -\u003e\u003e Langchain: Perform recursive data scraping\n    Langchain -\u003e\u003e System: Return scraped content\n    System -\u003e\u003e System: Clean content (Stemming, Lemmatization)\n    System -\u003e\u003e System: Split content into documents\n    System -\u003e\u003e OpenAI: Create vector embeddings\n    OpenAI -\u003e\u003e System: Return vector embeddings\n    System -\u003e\u003e Supabase: Add vector embeddings to vector store\n    Supabase -\u003e\u003e System: Confirm addition\n    System -\u003e\u003e User: System ready to process prompts\n\n    User -\u003e\u003e System: Send prompt with context\n    System -\u003e\u003e OpenAI: Generate response using vector store context\n    OpenAI -\u003e\u003e System: Return generated response\n    System -\u003e\u003e User: Return response\n\n    Note over System, AWS Lambda: Deployment\n\n    System -\u003e\u003e AWS Lambda: Deploy backend on AWS Lambda\n    AWS Lambda -\u003e\u003e System: Serverless deployment allows on-demand execution\n\n    Note over System: Environments\n\n    System -\u003e\u003e AWS Lambda: Deploy code to staging\n    System -\u003e\u003e AWS Lambda: Deploy tested code to production\n\n    Note over System: Integration Testing\n\n    System -\u003e\u003e System: Run integration tests for API\n    System -\u003e\u003e System: Automate deployment script\n    System -\u003e\u003e System: Clone repo, run tests locally, deploy to staging, run tests again\n\n    Note over System: GitHub Actions\n\n    System -\u003e\u003e GitHub Actions: Run integration tests on every commit\n    GitHub Actions -\u003e\u003e System: Ensure code quality and functionality\n\n    Note over System: Repositories\n\n    System -\u003e\u003e System: Maintain frontend and backend repositories\n    System -\u003e\u003e System: Secure main branch with branch protection rules\n    System -\u003e\u003e System: Require pull request and code review for merges to main branch\n\n```\n\n\u003eThis sequence diagram depicts the interaction flow within a system handling website data processing and AI-driven response generation. Initially, the system scrapes data recursively from the requested URL, cleans it, and generates vector embeddings using OpenAI. These embeddings are stored in Supabase. Upon receiving prompts from users, the system leverages these stored embeddings to generate contextually relevant responses via OpenAI. Deployment on AWS Lambda allows for scalable serverless execution, with staging and production environments ensuring smooth integration through automated testing and GitHub Actions, maintaining code quality and security with stringent repository management practices like branch protection and code reviews for merges.\n\n### Backend Repository - https://github.com/vedanti-u/SiteGenie-Backend\n\u003c!-- GETTING STARTED --\u003e\n## Contributing\n\n### Built Over ![NextJS Version](https://img.shields.io/badge/Next.js-v14.0.3-blue?style=plastic)\n\n- Clone the repository\n\n   ```sh\n   git clone https://github.com/your_username_/Project-Name.git\n   ```\n\n- Install dependencies\n\n   ```sh\n   npm install\n   ```\n\n### Setting-up `.env` file\n\nYour `.env` file should include\n\n```sh\nNEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=\u003cYOUR_CLERK_KEY\u003e\nCLERK_SECRET_KEY=\u003cYOUR_CLERK_SECRET_KEY\u003e\nNEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in\nNEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up\nNEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/user-dashboard\nNEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/user-dashboard\n```\n\n## 🤝 Contributing to Library\n\n\u003e [!NOTE]\n\u003e Contributing Guidelines\n\n\u003cdetails close\u003e\n  \u003csummary\u003eCreate a pull request\u003c/summary\u003e\n  \u003cimg align=\"right\" width=\"400\" src=\"https://github.com/vedanti-u/readme-assets/blob/main/fork-the-repo.png\" alt=\"fork this repository\" /\u003e\n  \u003ch4\u003eFork this repository by clicking on the fork button on the top of this page. This will create a copy of this repository in your account.\n  \u003c/h4\u003e\n\u003c/details\u003e\n\n\u003cdetails close\u003e\n  \u003csummary\u003eClone the repository\n\u003c/summary\u003e\n  \u003c/br\u003e\n  \u003cimg align=\"right\" width=\"200\" src=\"https://github.com/vedanti-u/readme-assets/blob/main/copy-cloning-url.png\" alt=\"fork this repository\" /\u003e\n  \u003cimg align=\"right\" width=\"300\" src=\"https://github.com/vedanti-u/readme-assets/blob/main/clone-button.png\" /\u003e\n\n  \u003ch4\u003eNow clone the forked repository to your machine. Go to your GitHub account, open the forked repository, click on the code button and then click the _copy to clipboard_ icon, this is the COPIED_URL.\u003c/h4\u003e\n\n\u003c/br\u003e\n\u003c/br\u003e\n\u003c/br\u003e\n\u003c/br\u003e\n\u003c/br\u003e\n\n\u003e _Open a terminal and run the following git command:_\n\n```git\ngit clone \"COPIED_URL\"\n```\n\ne.g : `git clone https://github.com/vedanti-u/db.ai.git`\n\u003c/br\u003e\n\n\u003c/details\u003e\n\n\u003cdetails close\u003e\n  \u003csummary\u003e Install dependencies\n\u003c/summary\u003e\n\n```bash\nnpm install\n```\n\n\u003c/details\u003e\n\n\u003cdetails close\u003e\n  \u003csummary\u003e Create a branch\n\u003c/summary\u003e\nBranch naming conviction\n  Change to the repository directory on your computer (if you are not already there):\n\n```bash\ncd sitegenie\n```\n\nNow create a branch using the `git checkout` command:\n\n```bash\ngit checkout -b new-branch-name\n```\n\ne.g : `git checkout -b llm-prompt-support`\n\n**Name your branch according to the feature you are working on :**\n\ne.g : you want to work on creating more llm prompt support, name your branch like `llm-prompt-support`\n\n_(follow this naming convention i.e using \"-\" in between)_\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eSetting up the .env\u003c/summary\u003e\n\n Create a `.env` File with format\n\n```bash\nNEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=\u003cYOUR_CLERK_KEY\u003e\nCLERK_SECRET_KEY=\u003cYOUR_CLERK_SECRET_KEY\u003e\nNEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in\nNEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up\nNEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/user-dashboard\nNEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/user-dashboard\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eMake contribution to Code\u003c/summary\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n   \u003csummary\u003eCreating pull requests\u003c/summary\u003e\n  \u003c/br\u003e\n  Once you have modified an existing file or added a new file to the project of your choice, you can stage it to your local repository, which we can do with the `git add` command. In our example, `filename.md`, we will type the following command.\n\n\u003ccode\u003e$ git add filename.md\u003c/code\u003e\n\nwhere filename is the file you have modified or created\n\nIf you are looking to add all the files you have modified in a particular directory, you can stage them all with the following command:\n`git add .`\n\nOr, alternatively, you can type `git add -all` for all new files to be staged.\n\n\u003ch3\u003eCommiting the changes\u003c/h3\u003e\n\u003ccode\u003egit commit -m \"Added a new prompt in prompts.json file\"\u003c/code\u003e\n\n\u003ch3\u003eTo PUSH your branch to your remote main\u003c/h3\u003e\n\u003ccode\u003e$ git push --set-upstream origin your-branch-name\u003c/code\u003e\n\u003c/br\u003e\n\ne.g : `$ git push --set-upstream origin optimise-binding`\n\n\u003ch4\u003eOpen Github\u003c/h4\u003e\n\u003cimg align=\"right\" width=\"300\" src=\"https://github.com/vedanti-u/readme-assets/blob/main/compare-and-pulll-request.png\" alt=\"compare and pull request\" /\u003e\nclick on compare \u0026 pull request\n\u003c/br\u003e\n\u003c/br\u003e\n\u003c/br\u003e\n\u003c/br\u003e\n\u003cimg align=\"right\" width=\"300\" src=\"https://github.com/vedanti-u/readme-assets/blob/main/create-pull-request.png\" alt=\"create pull request\" /\u003e\nwrite a description for your pull request specifing the changes you have made, title it and then, Click on create pull request\n\n_your branch will be merged on code review_\n\n  \u003c/details\u003e\n\n\u003c/br\u003e\n\n\u003ch3 id=\"colab\"\u003e :full_moon_with_face: Collaborators\u003c/h3\u003e\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003ca href=\"#\"\u003e\n          Vedanti Udapure\n      \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003ca href=\"#\"\u003e\n          Vedant Bhalerao\n      \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003ca href=\"#\"\u003e\n          Vojas Gonnade\n      \u003c/a\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n-------\n\n### :octocat: Statistics\n\n[![Open Source Love svg2](https://badges.frapsoft.com/os/v2/open-source.svg?v=103)](https://github.com/ellerbrock/open-source-badges/)\n![stars](https://img.shields.io/github/stars/vedanti-u/SiteGenie.svg)\n![forks](https://img.shields.io/github/forks/vedanti-u/SiteGenie.svg)\n![watchers](https://img.shields.io/github/watchers/vedanti-u/SiteGenie.svg)\n[![Open Source? Yes!](https://badgen.net/badge/Open%20Source%20%3F/Yes%21/blue?icon=github)](https://github.com/Naereen/badges/)\n[![GitHub contributors](https://badgen.net/github/contributors/vedanti-u/SiteGenie)](https://GitHub.com/vedanti-u/SiteGenie/graphs/contributors/)\n[![GitHub commits](https://badgen.net/github/commits/vedanti-u/SiteGenie)](https://GitHub.com/Naereen/StrapDown.js/commit/)\n[![GitHub issues](https://img.shields.io/github/issues/vedanti-u/SiteGenie.svg)](https://GitHub.com/vedanti-u/SiteGenie/issues/)\n[![GitHub issues-closed](https://img.shields.io/github/issues-closed/vedanti-u/SiteGenie.svg)](https://GitHub.com/vedanti-u/SiteGenie/issues?q=is%3Aissue+is%3Aclosed)\n[![GitHub pull-requests closed](https://img.shields.io/github/issues-pr-closed/vedanti-u/SiteGenie.svg)](https://GitHub.com/vedanti-u/SiteGenie/pulls?q=is%3Aclosed)\n[![GitHub pull-requests closed](https://badgen.net/github/closed-prs/vedanti-u/SiteGenie)](https://GitHub.com/vedanti-u/SiteGenie/pulls?q=is%3Aclosed)\n[![GitHub pull-requests merged](https://badgen.net/github/merged-prs/vedanti-u/SiteGenie)](https://GitHub.com/vedanti-u/SiteGenie/pulls?q=is%3Amerged)\n[![GitHub license](https://img.shields.io/github/license/vedanti-u/SiteGenie.svg)](https://github.com/vedanti-u/SiteGenie/blob/master/LICENSE)\n\n![Love](https://img.shields.io/badge/Made_with_Love-pink?style=flat-square\u0026logo=data:image/svg%2bxml;base64,PHN2ZyByb2xlPSJpbWciIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48dGl0bGU+R2l0SHViIFNwb25zb3JzIGljb248L3RpdGxlPjxwYXRoIGQ9Ik0xNy42MjUgMS40OTljLTIuMzIgMC00LjM1NCAxLjIwMy01LjYyNSAzLjAzLTEuMjcxLTEuODI3LTMuMzA1LTMuMDMtNS42MjUtMy4wM0MzLjEyOSAxLjQ5OSAwIDQuMjUzIDAgOC4yNDljMCA0LjI3NSAzLjA2OCA3Ljg0NyA1LjgyOCAxMC4yMjdhMzMuMTQgMzMuMTQgMCAwIDAgNS42MTYgMy44NzZsLjAyOC4wMTcuMDA4LjAwMy0uMDAxLjAwM2MuMTYzLjA4NS4zNDIuMTI2LjUyMS4xMjUuMTc5LjAwMS4zNTgtLjA0MS41MjEtLjEyNWwtLjAwMS0uMDAzLjAwOC0uMDAzLjAyOC0uMDE3YTMzLjE0IDMzLjE0IDAgMCAwIDUuNjE2LTMuODc2QzIwLjkzMiAxNi4wOTYgMjQgMTIuNTI0IDI0IDguMjQ5YzAtMy45OTYtMy4xMjktNi43NS02LjM3NS02Ljc1em0tLjkxOSAxNS4yNzVhMzAuNzY2IDMwLjc2NiAwIDAgMS00LjcwMyAzLjMxNmwtLjAwNC0uMDAyLS4wMDQuMDAyYTMwLjk1NSAzMC45NTUgMCAwIDEtNC43MDMtMy4zMTZjLTIuNjc3LTIuMzA3LTUuMDQ3LTUuMjk4LTUuMDQ3LTguNTIzIDAtMi43NTQgMi4xMjEtNC41IDQuMTI1LTQuNSAyLjA2IDAgMy45MTQgMS40NzkgNC41NDQgMy42ODQuMTQzLjQ5NS41OTYuNzk3IDEuMDg2Ljc5Ni40OS4wMDEuOTQzLS4zMDIgMS4wODUtLjc5Ni42My0yLjIwNSAyLjQ4NC0zLjY4NCA0LjU0NC0zLjY4NCAyLjAwNCAwIDQuMTI1IDEuNzQ2IDQuMTI1IDQuNSAwIDMuMjI1LTIuMzcgNi4yMTYtNS4wNDggOC41MjN6Ii8+PC9zdmc+)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvedanti-u%2Fsitegenie","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvedanti-u%2Fsitegenie","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvedanti-u%2Fsitegenie/lists"}