{"id":18546573,"url":"https://github.com/shuvra-matrix/gemini-ai--mern","last_synced_at":"2025-04-23T22:27:51.214Z","repository":{"id":226820853,"uuid":"759693510","full_name":"shuvra-matrix/Gemini-Ai--MERN","owner":"shuvra-matrix","description":"Gemini AI is an innovative web application that brings an interactive chat experience with Google Gemini AI. ","archived":false,"fork":false,"pushed_at":"2024-04-18T21:54:28.000Z","size":1873,"stargazers_count":16,"open_issues_count":0,"forks_count":8,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-30T04:11:22.106Z","etag":null,"topics":["chatbot","chatgpt","fullstack","fullstack-development","gemini","gemini-api","gemini-pro","mern","mern-stack","mernproject","mongo","nodejs","reactjs"],"latest_commit_sha":null,"homepage":"https://geminichatai.netlify.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/shuvra-matrix.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}},"created_at":"2024-02-19T06:42:33.000Z","updated_at":"2025-03-28T04:08:01.000Z","dependencies_parsed_at":"2024-03-09T23:20:50.722Z","dependency_job_id":"c7d106fd-62c7-4d49-b0b0-00b09ef0a5a1","html_url":"https://github.com/shuvra-matrix/Gemini-Ai--MERN","commit_stats":null,"previous_names":["shuvra-matrix/gemini-ai--mern"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shuvra-matrix%2FGemini-Ai--MERN","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shuvra-matrix%2FGemini-Ai--MERN/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shuvra-matrix%2FGemini-Ai--MERN/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shuvra-matrix%2FGemini-Ai--MERN/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shuvra-matrix","download_url":"https://codeload.github.com/shuvra-matrix/Gemini-Ai--MERN/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250525620,"owners_count":21445067,"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":["chatbot","chatgpt","fullstack","fullstack-development","gemini","gemini-api","gemini-pro","mern","mern-stack","mernproject","mongo","nodejs","reactjs"],"created_at":"2024-11-06T20:26:00.314Z","updated_at":"2025-04-23T22:27:51.191Z","avatar_url":"https://github.com/shuvra-matrix.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Gemini AI Web App\n\nGemini AI is an innovative web application that brings an interactive chat experience with the help of Google Gemini Pro api. Built using Node.js, React.js, MongoDB, and Redux Toolkit, this app allows users to engage in text-based conversations with Gemini AI. The application features Google OAuth V2 for user authentication, enabling enhanced capabilities and personalization.\n\n## Description\n\nGemini AI Web App is a Google Gemini clone, providing users with a seamless chat interface powered by advanced AI capabilities. Users can enjoy conversations with Gemini AI, receiving text-based responses. The application supports two user types:\n\n1. **Non-authenticated Users:**\n\n   - Limited to 10 chat requests per hour.\n   - Access to the last 5 chat history entries.\n\n2. **Authenticated Users:**\n   - Unlimited chat responses.\n   - Full chat history access upon login.\n3. **Modern Interface:**\n   - Enjoy a clean and user-friendly interface for a seamless chat experience.\n\n## Live Demo\n\nExplore the live demo of Gemini AI: [https://geminichatai.netlify.app/](https://geminichatai.netlify.app/)\n\n![Demo Screenshot](https://res.cloudinary.com/dqone7ala/image/upload/v1710036366/Screenshot_2024-03-10_073520_wkcnwj.png)\n\n## Installation\n\n### Server Side\n\n1. Clone the repository:\n\n   ```bash\n   git clone https://github.com/shuvra-matrix/Gemini-Ai--MERN.git\n   ```\n\n2. Navigate to the server folder:\n\n   ```bash\n   cd ./server\n   ```\n\n3. Install dependencies:\n\n   ```bash\n   npm install\n   ```\n\n4. Set up environment variables in a `.env` file:\n\n   ```\n   MONGO_USER=mongodb_username\n   MONGO_PASS=mongodb_password\n   GEMINI_API_KEY=gemini_api_key\n   CLIENT_API_KEY=server_client_verify_api_key(generate by user)\n   GEO_API_KEY=ipgeolocation_api_key\n   LOCATION_API_KEY=geocode_api_key\n   GOOGLE_CLIENT_ID=google_oauth_client_id\n   GOOGLE_CLIENT_SECRET=google_oauth_client_secret\n   GOOGLE_OAUTH_REDIRECT_URL=google_oauth_redirect_url\n   CLIENT_REDIRECT_URL=\"http://localhost:3000\"\n   ACCESS_TOKEN_JWT_SECRET=cookie_secret\n   REFRESH_TOKEN_JWT_SECRET=cookie_secret\n   ACCESS_TOKEN_EXPIRETIME=15m\n   REFRESH_TOKEN_EXPIRETIME=7d\n   APPLICATION_TYPE=\"dev\" or\"production\"\n   COOKIE_DOMAIN=serverid_domain\n   ```\n\n5. Run the server:\n\n   ```bash\n   npm start\n   ```\n\n### Client Side\n\n1. Navigate to the root directory:\n\n   ```bash\n   cd Gemini-Ai--MERN\n   ```\n\n2. Install client dependencies:\n\n   ```bash\n   npm install\n   ```\n\n3. Set up client-side environment variables in a `.env` file:\n\n   ```\n   REACT_APP_GEMINI_KEY=user_generated_key)\n   REACT_APP_GOOGLE_CLIENT_ID=google_oauth_client_id\n   REACT_APP_GOOGLE_CLIENT_SECRET=google_oauth_client_secret\n   REACT_APP_GOOGLE_OAUTH_REDIRECT_URL=google_oauth_redirect_url\n   REACT_APP_SERVER_ENDPOINT=http://localhost:3030\n   ```\n\n4. Run the client:\n\n   ```bash\n   npm start\n   ```\n\n## Docker Setup\n\nIf you have Docker installed, use the following command in the root directory:\n\n```bash\ndocker-compose -f docker-compose.yaml up\n```\n\n## Location Tracking\n\nGemini AI Web App employs location tracking features for enhanced user experience. The following APIs are utilized on the server side to obtain location and IP details:\n\n1. **IP Geolocation API:**\n\n   - Used to retrieve initial location details based on the user's IP address.\n   - API Endpoint: [https://ipgeolocation.io/](https://ipgeolocation.io/)\n   - This information helps in providing a general idea of the user's location.\n\n2. **Geocode API:**\n   - Utilized to get precise user location details by updating location based on latitude and longitude.\n   - API Endpoint: [https://geocode.maps.co/](https://geocode.maps.co/)\n   - The app uses this API to convert latitude and longitude coordinates into an accurate user location.\n\nPlease note that the use of location data is subject to our [Privacy Policy](https://github.com/shuvra-matrix/Gemini-Ai--MERN/blob/main/PRIVACY-POLICY.md), and user consent is prioritized. The obtained location information is solely used to enhance user experience within the Gemini AI Web App. We do not share this information with third parties.\n\nIf you have any concerns or questions regarding the use of location tracking in Gemini AI Web App, please contact us at [shuvrachakrabarty97@gmail.com](shuvrachakrabarty97@gmail.com).\n\n## Issues and Contributions\n\nReport issues or contribute to the project on [GitHub](https://github.com/shuvra-matrix/Gemini-Ai--MERN).\n\n## Privacy Policy\n\nRead our [Privacy Policy](https://github.com/shuvra-matrix/Gemini-Ai--MERN/blob/main/PRIVACY-POLICY.md) before using Gemini AI. Your use of this web app is subject to our privacy terms.\n\n## Disclaimer\n\nRead the [Disclaimer](https://github.com/shuvra-matrix/Gemini-Ai--MERN/blob/main/DISCLAIMER.md) before using Gemini AI. Use of this web app implies acceptance of the terms stated in the disclaimer.\n\nEnjoy chatting with Gemini AI! 🚀\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshuvra-matrix%2Fgemini-ai--mern","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshuvra-matrix%2Fgemini-ai--mern","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshuvra-matrix%2Fgemini-ai--mern/lists"}