{"id":28804603,"url":"https://github.com/simranshaikh20/sanskriti-scope","last_synced_at":"2025-08-17T10:40:54.847Z","repository":{"id":294425689,"uuid":"983469989","full_name":"SimranShaikh20/Sanskriti-Scope","owner":"SimranShaikh20","description":"SanskritiScope: Your Guide to India’s Cultural Heritage 🇮🇳✨ Explore hidden cultural gems 🏛️, learn about traditional arts 🎨, and plan personalized travel experiences 🗺️ that support local communities 🤝.","archived":false,"fork":false,"pushed_at":"2025-05-22T10:00:59.000Z","size":7053,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-22T10:41:31.107Z","etag":null,"topics":["groq-integration","python","streamlit-webapp"],"latest_commit_sha":null,"homepage":"https://sanskriti-scope-r2tot5cupch7vhy6wkqpr4.streamlit.app/","language":"Python","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/SimranShaikh20.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,"zenodo":null}},"created_at":"2025-05-14T12:33:33.000Z","updated_at":"2025-05-22T10:01:03.000Z","dependencies_parsed_at":"2025-05-22T10:41:39.313Z","dependency_job_id":null,"html_url":"https://github.com/SimranShaikh20/Sanskriti-Scope","commit_stats":null,"previous_names":["simranshaikh20/sanskritiscope","simranshaikh20/sanskriti-scope"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/SimranShaikh20/Sanskriti-Scope","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimranShaikh20%2FSanskriti-Scope","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimranShaikh20%2FSanskriti-Scope/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimranShaikh20%2FSanskriti-Scope/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimranShaikh20%2FSanskriti-Scope/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SimranShaikh20","download_url":"https://codeload.github.com/SimranShaikh20/Sanskriti-Scope/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimranShaikh20%2FSanskriti-Scope/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260523608,"owners_count":23021969,"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":["groq-integration","python","streamlit-webapp"],"created_at":"2025-06-18T09:06:18.043Z","updated_at":"2025-08-17T10:40:54.819Z","avatar_url":"https://github.com/SimranShaikh20.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SanskritiScope 🌍✨  \n**Preserving India's Heritage Through Data \u0026 Responsible Tourism**\n\n---\n\n## 📌 Project Overview  \n**SanskritiScope** is an AI-powered platform designed to promote **sustainable tourism** and preserve **endangered Indian art forms**. By leveraging data-driven insights, interactive maps, and an AI chatbot, it connects travelers with lesser-known cultural sites, festivals, and heritage experiences across India.  \n\n### 🎯 Key Objectives  \n- **Discover**: Explore endangered art forms using interactive maps and filters.  \n- **Recommend**: Generate personalized cultural travel itineraries.  \n- **Educate**: Provide insights about India's heritage via an AI-powered chatbot.  \n- **Promote**: Highlight local festivals and events to boost responsible tourism.  \n\n---\n[Live App](https://sanskriti-scope-r2tot5cupch7vhy6wkqpr4.streamlit.app/)\n---\n## 🛠 Tech Stack  \n\n### 🌐 Backend  \n| Technology       | Use Case                              |\n|------------------|---------------------------------------|\n| [Snowflake](https://www.snowflake.com/) | Cloud data warehouse for storing heritage datasets |\n| [Snowpark (Python)](https://docs.snowflake.com/en/developer-guide/snowpark/python/index) | Query and process data directly within Snowflake |\n| [Haversine Formula](https://en.wikipedia.org/wiki/Haversine_formula) | Calculate distances for travel recommendations |\n\n### 💡 AI \u0026 APIs  \n| Technology       | Use Case                              |\n|------------------|---------------------------------------|\n| [Groq API (LLaMA-4)](https://x.ai/api) | Powers the AI Cultural Guide chatbot |\n| [Pandas](https://pandas.pydata.org/) / [NumPy](https://numpy.org/) | Data processing and scoring for recommendations |\n\n### 📊 Frontend  \n| Technology       | Use Case                              |\n|------------------|---------------------------------------|\n| [Streamlit](https://streamlit.io/) | Python-based interactive web app |\n| [Folium](https://python-visualization.github.io/folium/) | Interactive maps with custom markers |\n| [Streamlit-Folium](https://github.com/randyzwitch/streamlit-folium) | Embed Folium maps in Streamlit |\n\n---\n\n## 🔌 API Usage  \n\n### ⚡ Groq API (LLaMA-4) 🤖  \n**API Name**: Groq API  \n**Model Used**: LLaMA-4  \n**Purpose**: Powers the AI Cultural Guide chatbot for real-time heritage insights.  \n\n**Implementation**:  \n1. User inputs queries via the Streamlit interface.  \n2. Queries are sent to Groq's LLaMA-4 model through a secure API call.  \n3. Responses are displayed in the chatbot UI.  \n4. 🔐 API key is securely stored in environment variables (`.env`).  \n\n---\n\n## 🧩 Snowflake + Streamlit Integration  \n\n### 🔗 Connection Architecture  \n1. **Snowflake Setup**:  \n   - Stores heritage datasets (art forms, coordinates, UNESCO status, festival details) in structured tables.  \n2. **Snowpark Python**:  \n   - Enables direct querying and data manipulation within Snowflake.  \n   - Eliminates the need for a separate ETL pipeline.  \n3. **Streamlit App**:  \n   - Connects to Snowflake using credentials stored in `secrets.toml`.  \n   - Visualizes real-time data through interactive UI components.  \n\n### ✅ Advantages  \n- **Zero Data Duplication**: Data resides solely in Snowflake.  \n- **Live Querying**: Ensures up-to-date recommendations and insights.  \n- **Efficient Processing**: Snowpark handles complex computations seamlessly.  \n\n---\n\n## 🔁 System Architecture \u0026 Data Flow  \n\n```mermaid\ngraph TD\n    A[User Interface] --\u003e|Query| B(Streamlit)\n    B --\u003e|Snowpark| C[Snowflake Data]\n    C --\u003e D{Data Processing}\n    D --\u003e|Results| B\n    B --\u003e|Questions| E[Groq API]\n    E --\u003e|Answers| B\n    B --\u003e|Visualize| A\n```\n\n## ⚙️ How It Works\n\n## 🔍 Data Pipeline\n\n- **Snowflake**: Acts as the central repository for heritage data.  \n- **Snowpark**: Processes queries and applies filters using Python.  \n- **Streamlit**: Renders interactive UI with maps, filters, and chatbot.  \n- **Groq API**: Handles user queries for cultural insights and Q\u0026A.\n\n---\n\n## 📍 Recommendation Algorithm\n\nThe platform uses a scoring system to prioritize travel recommendations:\n\n```python\ndef calculate_score(row):\n    score = 0\n    if row['ENDANGERED'] == \"Yes\": score += 2\n    if row['UNESCO'] == \"Yes\": score += 1\n    score -= (0.01 * row['DISTANCE_KM'])  # Penalize longer distances\n    return score\n```\n\n**Inputs**: Art form metadata, UNESCO status, and distance (calculated via Haversine formula).  \n**Output**: Ranked list of cultural sites for personalized itineraries.\n\n---\n\n## 🚀 Key Features\n\n### 🗺️ Art Explorer\n\n- Filter art forms by state, region, or endangerment status.  \n- Visualize sites on an interactive Folium-powered map.  \n- View detailed metadata (history, significance, preservation status).\n\n### 🛤️ Smart Routes\n\n- AI-curated travel itineraries prioritizing endangered sites.  \n- Distance-optimized paths using the Haversine formula.  \n- Exportable routes for trip planning.\n\n### 🤖 Chatbot Guide\n\n- Powered by Groq's LLaMA-4 model.  \n- Provides instant insights into art forms, festivals, and cultural history.  \n- Contextual responses tailored to user queries.\n\n### 🗓️ Festival Calendar\n\n- Browse cultural festivals by month or state.  \n- Filter events based on proximity or cultural significance.  \n- Learn about festival history and local impact.\n\n---\n\n## 📈 Why This is Innovative?\n\n- **Data-Driven Preservation**: Directs tourism to at-risk art forms, supporting local communities.  \n- **Hybrid Intelligence**: Combines Snowflake's analytics with LLaMA-4's conversational AI.  \n- **Serverless Architecture**: Scalable, low-maintenance infrastructure.  \n- **Impact Tourism**: Measurable contributions to cultural preservation and local economies.\n\n---\n\n## 🌍 Getting Started\n\n### 📋 Prerequisites\n\n- Python 3.8+  \n- Snowflake account with Snowpark enabled  \n- Groq API key (sign up at [x.ai/api](https://x.ai/api))  \n- Git installed for cloning the repository\n\n---\n\n### 🛠 Installation\n\n**Clone the Repository:**\n```bash\ngit clone https://github.com/SimranShaikh20/SanskritiScope.git\ncd cultural-lens\n```\n\n**Install Dependencies:**\n```bash\npip install -r requirements.txt\n```\n\n**Set Up Environment Variables:**  \nCreate a `.env` file in the project root and add:\n```\nSNOWFLAKE_ACCOUNT=\u003cyour-account\u003e\nSNOWFLAKE_USER=\u003cyour-username\u003e\nSNOWFLAKE_PASSWORD=\u003cyour-password\u003e\nSNOWFLAKE_DATABASE=\u003cyour-database\u003e\nSNOWFLAKE_SCHEMA=\u003cyour-schema\u003e\nGROQ_API_KEY=\u003cyour-groq-api-key\u003e\n```\n\n**Configure Streamlit Secrets:**  \nCreate a `secrets.toml` file in the `.streamlit/` directory:\n```toml\n[snowflake]\naccount = \"\u003cyour-account\u003e\"\nuser = \"\u003cyour-username\u003e\"\npassword = \"\u003cyour-password\u003e\"\ndatabase = \"\u003cyour-database\u003e\"\nschema = \"\u003cyour-schema\u003e\"\n```\n\n**Run the Application:**\n```bash\nstreamlit run app.py\n```\n\n**Access the App:**  \nOpen your browser and navigate to `http://localhost:8501`.\n\n---\n\n## 📂 Project Structure\n\n```\ncultural-lens/\n├── 📄 app.py               # Main Streamlit application\n├── 📄 recommender.py       # Core recommendation logic\n├── 📄 requirements.txt     # Python dependencies\n├── 📄 README.md            # Project documentation\n├── 📂 .streamlit/          # Streamlit configuration\n│ └── 🔐 secrets.toml       # API/Snowflake credentials\n├── 📂 data/                # Sample datasets\n├── 🖼️ images/              # Images used in the app\n├── 📂 pages/               # Streamlit multipage app components\n│ ├── 1_🎨_Endangered_art_forms.py          # Form for endangered art\n│ ├── 2_📍_Cultural_Spot_Recommender.py     # Cultural spot recommendations\n│ ├── 3_🤖_Chatbot.py                       # Chatbot integration\n│ └── 4_📆_Seasonality_\u0026_Cultural_Calendar.py # Calendar of cultural events\n├── 📂 venv/                # Virtual environment \n├── 📂 Presentation/   \n│ ├── SanskritiScope-AI-Powered-Platform-for-Sustainable-Cultural-Tourism-in-India.pptx\n         \n```\n\n---\n\n## 🛠 Contributing\n\nWe welcome contributions to enhance Cultural Lens! To contribute:\n\n1. Fork the repository.  \n2. Create a new branch:  \n   ```bash\n   https://github.com/SimranShaikh20/SanskritiScope.git\n   ```\n3. Commit your changes:  \n   ```bash\n   git commit -m \"Add SanskritiScope\"\n   ```\n4. Push to the branch:  \n   ```bash\n   git push origin feature/SanskritiScope\n   ```\n5. Open a Pull Request.\n\nPlease follow the Code of Conduct and ensure your code adheres to the project's style guidelines.\n\n---\n\n## 📜 License\n\nThis project is licensed under the **MIT License**.\n\n---\n\n## 🙌 Acknowledgments\n\n- **Snowflake** for scalable data warehousing.  \n- **Groq** for powering the AI chatbot.  \n- **Streamlit** and **Folium** for seamless UI and mapping.  \n- The **open-source community** for inspiration and tools.\n\n---\n\n## 📬 Contact\n\nFor questions, suggestions, or collaboration, reach out to:\n\n**GitHub**: [Simran Shaikh](https://github.com/SimranShaikh20)\n\n---\n\n**Let's preserve India's cultural heritage together! 🌟**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimranshaikh20%2Fsanskriti-scope","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimranshaikh20%2Fsanskriti-scope","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimranshaikh20%2Fsanskriti-scope/lists"}