Skip to content

VishwaGuru is an open source platform empowering India's youth to engage with democracy. It uses AI to simplify contacting representatives, filing grievances, and organizing community action. Built for India's languages and governance, it turns selfies and videos into real civic impact..

License

Notifications You must be signed in to change notification settings

RohanExploit/VishwaGuru

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

447 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌍 VishwaGuru

VishwaGuru is an AI-powered platform designed to help users analyze civic issues and generate actionable solutions using modern web technologies and AI models.


✨ Features

  • 🤖 AI-generated action plans: Using Google Gemini to create WhatsApp messages, email drafts, and X (Twitter) posts.
  • FastAPI-powered backend: High-performance asynchronous API.
  • 🎨 Modern React + Vite frontend: Responsive and user-friendly interface.
  • 📱 Telegram bot integration: Report issues directly from your favorite messaging app.
  • 🗄️ SQLite (dev) & PostgreSQL (prod): Flexible database options for development and production.
  • ☁️ Cloud Native: Designed for deployment on Netlify, Render, and Neon.
  • 📍 Spatial Deduplication: Automatically detects nearby issues to prevent duplicates.
  • 🔍 Unified Detection: AI-powered detection for potholes, garbage, vandalism, and more.
  • 🏛️ MLA Lookup: Find your Maharashtra representative by pincode and file grievances.

🛠️ Project Setup (Local)

📥 Clone the Repository

git clone https://github.com/Ewocs/VishwaGuru.git
cd VishwaGuru

⚙️ Backend Setup

Create Virtual Environment

# Linux/macOS
python3 -m venv venv
source venv/bin/activate

# Windows
python -m venv venv
venv\Scripts\activate

Install Dependencies

pip install -r backend/requirements.txt

🔐 Environment Configuration

cp .env.example .env

Set the following in your .env file:

TELEGRAM_BOT_TOKEN=your_bot_token
GEMINI_API_KEY=your_api_key
DATABASE_URL=sqlite:///./data/issues.db
FRONTEND_URL=http://localhost:5173

🎨 Frontend Setup

cd frontend
npm install

🏃‍♂️ Running Locally

Service Command URL
Backend PYTHONPATH=. python -m uvicorn backend.main:app --reload http://localhost:8000
Frontend cd frontend && npm run dev http://localhost:5173

🛠️ Tech Stack

  • Frontend: React 18+, Vite, Tailwind CSS, Lucide Icons
  • Backend: Python 3.12+, FastAPI, SQLAlchemy, Pydantic
  • Database: SQLite (Dev), PostgreSQL (Prod via Neon)
  • AI/ML: Google Gemini Pro, Hugging Face Inference API (CLIP), Ultralytics (YOLO)
  • Bot: python-telegram-bot

🏗️ Architecture

VishwaGuru follows a modern client-server architecture:

  1. Frontend (Netlify): A React application that communicates with the backend via REST APIs.
  2. Backend (Render): A FastAPI server that handles logic, AI integrations, and database operations.
  3. Database (Neon): A serverless PostgreSQL database for persistent storage.
  4. AI Services: Integrates Google Gemini for text generation and Hugging Face/Local ML for image analysis.

📚 Documentation


📄 License

GNU Affero General Public License v3.0 (AGPL-3.0)

VishwaGuru Banner License Python React FastAPI

Empowering India's youth to engage with democracy through AI-powered civic action 🚀

About

VishwaGuru is an open source platform empowering India's youth to engage with democracy. It uses AI to simplify contacting representatives, filing grievances, and organizing community action. Built for India's languages and governance, it turns selfies and videos into real civic impact..

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 15