{"id":28964701,"url":"https://github.com/colddsam/truth-guardian","last_synced_at":"2026-05-06T11:32:16.434Z","repository":{"id":293386455,"uuid":"983876245","full_name":"colddsam/Truth-Guardian","owner":"colddsam","description":"An advanced AI-powered fake news detection system that verifies text, images, and social media posts using Gemini AI, FastAPI, and Next.js. Includes a modern web interface, a lightweight Streamlit app, and a Chrome extension for real-time fake content detection. Built to combat misinformation with explainable AI results and contextual source links.","archived":false,"fork":false,"pushed_at":"2025-05-21T16:31:15.000Z","size":3521,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-21T16:34:09.074Z","etag":null,"topics":["ai-news-verification","ai-verification","chrome-extension","fake-news-detection","fastapi-backend","gemini-api","image-authentication","machine-learning","misinformation-detection","news-fact-checking","nextjs-api","nextjs-app","nlp","nlp-news-detection","social-media-analysis","streamlit","streamlit-app","truth-score"],"latest_commit_sha":null,"homepage":"https://truthguardian.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/colddsam.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-15T03:54:38.000Z","updated_at":"2025-05-21T16:31:18.000Z","dependencies_parsed_at":"2025-05-22T11:03:44.830Z","dependency_job_id":null,"html_url":"https://github.com/colddsam/Truth-Guardian","commit_stats":null,"previous_names":["colddsam/fake-news-detection","colddsam/truth-guardian-","colddsam/truth-guardian"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/colddsam/Truth-Guardian","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/colddsam%2FTruth-Guardian","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/colddsam%2FTruth-Guardian/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/colddsam%2FTruth-Guardian/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/colddsam%2FTruth-Guardian/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/colddsam","download_url":"https://codeload.github.com/colddsam/Truth-Guardian/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/colddsam%2FTruth-Guardian/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261613598,"owners_count":23184436,"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":["ai-news-verification","ai-verification","chrome-extension","fake-news-detection","fastapi-backend","gemini-api","image-authentication","machine-learning","misinformation-detection","news-fact-checking","nextjs-api","nextjs-app","nlp","nlp-news-detection","social-media-analysis","streamlit","streamlit-app","truth-score"],"created_at":"2025-06-24T05:31:06.328Z","updated_at":"2026-05-06T11:32:11.412Z","avatar_url":"https://github.com/colddsam.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🛡️ Truth Guardian AI - Fake News Detection\n\n![Logo](./content.png)  \n_Advanced AI-powered tool to detect fake news from **Text**, **Social Media**, and **Images** in real-time._\n\n[![Live Site](https://img.shields.io/badge/🌐%20Live%20Website-Visit-green?style=for-the-badge\u0026logo=vercel)](https://fake-news-detection-inky.vercel.app/)\n[![Chrome Extension](https://img.shields.io/badge/🧩%20Extension-Setup-blue?style=for-the-badge\u0026logo=googlechrome)](#-browser-extension)\n[![Streamlit App](https://img.shields.io/badge/📊%20Streamlit-Launch-orange?style=for-the-badge\u0026logo=streamlit)](#-streamlit-app)\n[![Issues](https://img.shields.io/github/issues/colddsam/Fake-News-Detection?style=for-the-badge)](https://github.com/colddsam/Fake-News-Detection/issues)\n[![Forks](https://img.shields.io/github/forks/colddsam/Fake-News-Detection?style=for-the-badge)](https://github.com/colddsam/Fake-News-Detection/network/members)\n[![Stars](https://img.shields.io/github/stars/colddsam/Fake-News-Detection?style=for-the-badge)](https://github.com/colddsam/Fake-News-Detection/stargazers)\n[![License](https://img.shields.io/github/license/colddsam/Fake-News-Detection?style=for-the-badge)](https://github.com/colddsam/Fake-News-Detection/blob/main/LICENSE)\n[![Download](https://img.shields.io/badge/⬇️%20Download-Zip-blue?style=for-the-badge)](https://github.com/colddsam/Fake-News-Detection/archive/refs/heads/main.zip)\n\n---\n\n## 📸 Preview\n\n![App Preview](./preview.png)\n\n---\n\n## 📚 Table of Contents\n\n- [🛡️ Truth Guardian AI - Fake News Detection](#️-truth-guardian-ai---fake-news-detection)\n  - [📸 Preview](#-preview)\n  - [📚 Table of Contents](#-table-of-contents)\n  - [✅ Features](#-features)\n  - [🧠 How it Works](#-how-it-works)\n  - [🧰 Tech Stack](#-tech-stack)\n  - [🛠️ Next Website Setup](#️-next-website-setup)\n    - [⚙️ Create `.env.local`](#️-create-envlocal)\n  - [📊 Streamlit App](#-streamlit-app)\n    - [🚀 Run Streamlit Locally](#-run-streamlit-locally)\n    - [✨ Features](#-features-1)\n  - [🐍 FastAPI Backend](#-fastapi-backend)\n  - [🧩 Browser Extension](#-browser-extension)\n    - [🔧 Installation](#-installation)\n  - [🧾 SEO Configuration](#-seo-configuration)\n  - [📁 Folder Structure](#-folder-structure)\n  - [🤝 Contributing](#-contributing)\n  - [📜 License](#-license)\n  - [✨ Author](#-author)\n\n---\n\n## ✅ Features\n\n| Category         | Description                                                              |\n| ---------------- | ------------------------------------------------------------------------ |\n| 🔍 Text Checker   | Detects manipulated or misleading text using NLP and ML                  |\n| 🖼️ Image Checker  | Uses Gemini AI to analyze image authenticity                             |\n| 🧵 Social Checker | Cross-verifies social media claims using real-time search engine results |\n| 🌐 Browser Ext.   | Chrome Extension to detect fake news directly on websites and posts      |\n| 📊 Streamlit App  | Lightweight Python-based app interface for simple testing and analysis   |\n| 🐍 Python API     | FastAPI backend for serving fake news detection APIs (text/image/social) |\n| 📈 Realtime Data  | Live AI scoring system with contextual feedback                          |\n| ⚙️ SEO Optimized  | Auto-generated sitemap, robots.txt, meta description                     |\n\n---\n\n## 🧠 How it Works\n\n```mermaid\ngraph TD;\n    A[Input News] --\u003e B{Choose Type};\n    B --\u003e|Text| C[Analyze Text];\n    B --\u003e|Image| D[Analyze Image with Gemini AI];\n    B --\u003e|Social Link| E[Fetch Context \u0026 Analyze];\n    C --\u003e F[Score + Verdict];\n    D --\u003e F;\n    E --\u003e F;\n    F --\u003e G[Result with Sources];\n```\n\n---\n\n## 🧰 Tech Stack\n\n| Layer       | Technology                           |\n| ----------- | ------------------------------------ |\n| 💻 Frontend  | React.js, Next.js, TailwindCSS       |\n| 📊 Streamlit | Python Streamlit for UI + testing    |\n| ⚙️ Backend   | Next.js API Routes, FastAPI (Python) |\n| 🧠 AI        | Google Gemini API                    |\n| 🌐 Extension | Chrome Extension (Manifest V3)       |\n| ☁️ Hosting   | Vercel (Frontend), Render (Backend)  |\n\n---\n\n## 🛠️ Next Website Setup\n\n```bash\ngit clone https://github.com/colddsam/Fake-News-Detection.git\ncd Fake-News-Detection/website\nnpm install\nnpm run dev\n```\n\nVisit: `http://localhost:3000`\n\n### ⚙️ Create `.env.local`\n\n```env\nGEMINI_API_KEY=your_gemini_api_key\nALLOWED_EXTENSION_ORIGIN=chrome-extension://your-extension-id\nNEXT_PUBLIC_BASE_URL=https://yourappdomain.com\n```\n\n---\n\n## 📊 Streamlit App\n\nThe Streamlit app is a minimal interface built for testing and rapid prototyping. Located in the `frontend/` directory.\n\n### 🚀 Run Streamlit Locally\n\n```bash\ncd Fake-News-Detection/frontend\npip install -r requirements.txt\nstreamlit run app.py\n```\n\nOpen in browser: `http://localhost:8501`\n\n### ✨ Features\n\n* Simple UI to test text, image, and social media inputs\n* Sends requests to the FastAPI backend\n* Displays AI-based scoring and verdicts\n* Lightweight and easy to modify\n\n---\n\n## 🐍 FastAPI Backend\n\n```bash\ncd Fake-News-Detection/backend\npython3 -m venv venv\nsource venv/bin/activate  # on Windows: venv\\Scripts\\activate\npip install -r requirements.txt\nuvicorn main:app --reload\n```\n\n\u003e Backend will run at `http://localhost:8000`\n\n---\n\n## 🧩 Browser Extension\n\n### 🔧 Installation\n\n1. Visit `chrome://extensions/`\n2. Enable **Developer Mode**\n3. Click **Load Unpacked**\n4. Select the `extension/` folder\n\n---\n\n## 🧾 SEO Configuration\n\nDefined inside `layout.tsx` (Next.js):\n\n```ts\nexport const metadata = {\n  title: \"Truth Guardian AI - Fake News Detection\",\n  description: \"Advanced AI tool to detect fake news from text, social media, and images\",\n};\n```\n\nOther SEO tools:\n\n* `next-sitemap` for sitemap \u0026 robots\n* Optimized metadata \u0026 OG tags\n\n---\n\n## 📁 Folder Structure\n\n```\n\nFake-News-Detection\n├── backend/                   # FastAPI Backend\n│   ├── main.py\n│   ├── search.py\n│   ├── verify.py\n│   ├── utils.py\n│   └── requirements.txt\n├── frontend/                 # Streamlit App (New)\n│   ├── app.py\n│   └── requirements.txt\n├── extension/                # Browser Extension\n│   ├── icons/\n│   ├── config.js\n│   ├── manifest.json\n│   ├── popup.css\n│   ├── popup.html\n│   └── popup.js\n├── website/                  # Next.js Frontend\n│   ├── app/\n│   │    └──api/\n│   ├── public/\n│   ├── styles/\n│   ├── next.config.mjs\n│   ├── package.json\n│   └── ...\n├── LICENSE\n├── README.md\n├── content.png\n└── preview.png\n```\n\n---\n\n## 🤝 Contributing\n\nWe welcome contributions! To get started:\n\n1. **Fork** the repository\n2. Create a new branch: `git checkout -b feature/your-feature-name`\n3. Commit your changes: `git commit -m \"Added something cool\"`\n4. Push to the branch: `git push origin feature/your-feature-name`\n5. Open a **Pull Request**\n\n---\n\n## 📜 License\n\nThis project is licensed under the [Apache License](https://github.com/colddsam/Fake-News-Detection/blob/main/LICENSE)\n\n---\n\n## ✨ Author\n\n**Samrat Kumar Das**\n[![LinkedIn](https://img.shields.io/badge/Connect-LinkedIn-blue?style=flat\\\u0026logo=linkedin)](https://www.linkedin.com/in/colddsam/)\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcolddsam%2Ftruth-guardian","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcolddsam%2Ftruth-guardian","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcolddsam%2Ftruth-guardian/lists"}