Analyze images, videos, and articles with forensic-grade AI. Detect deepfakes, manipulations, and misinformation instantly.
Important
Dec 2025 - Frontend Restructured!
The frontend moved from src/ to client/. Run: cd client && npm install
| Name | Role | Branch |
|---|---|---|
| Shivam Yadav | Developer | shivam |
| Harsh Rupreja | Developer | harsh |
| Uday Dewani | Developer | uday |
- π User Authentication - Secure login/register with JWT tokens
- π Article/Claim Analysis - Extract and verify claims from text or URLs
- π Domain Trust Scoring - Evaluate source credibility (0-100 score)
- β Fact-Check Integration - Google Fact Check API integration
- π° Evidence Retrieval - GNews API for corroborating sources
- π€ Stance Classification - AI-powered stance detection
- βοΈ Verdict Aggregation - Intelligent verdict synthesis
- π¬ LLM Explanations - Human-readable analysis explanations
- π Analysis History - View past verification results
- π¨ Modern UI - Dark theme with glassmorphism design
- React 18 + TypeScript
- Vite - Build tool
- Tailwind CSS - Styling
- Lucide Icons - UI icons
- FastAPI - Python API framework
- SQLAlchemy - ORM
- PostgreSQL - Database
- Google Gemini - LLM integration
- Docker - Containerization
- Docker Compose - Multi-container orchestration
TruthLens/
βββ client/ # Frontend (React + Vite)
β βββ src/
β β βββ components/ # React components
β β β βββ LandingPage.tsx
β β β βββ Dashboard.tsx
β β β βββ ArticleVerification.tsx
β β β βββ ...
β β βββ lib/ # Utilities (api.ts)
β β βββ types/ # TypeScript definitions
β βββ package.json
β βββ vite.config.ts
β
βββ backend/ # Backend (FastAPI)
β βββ app/
β βββ api/v1/ # API endpoints
β β βββ auth.py # Authentication
β β βββ analyze.py # Analysis pipeline
β β βββ history.py # History management
β βββ models/ # Database models
β βββ services/ # Business logic
β β βββ domain_trust.py # Domain scoring
β β βββ factcheck.py # Fact-check API
β β βββ evidence.py # News retrieval
β β βββ stance.py # Stance classification
β β βββ explanation.py # LLM explanations
β βββ core/ # Config & database
β
βββ data/ # Seed data
βββ docker-compose.yml # Docker configuration
βββ CONTRIBUTING.md # Collaboration guide
βββ README.md # This file
- Node.js 18+
- Python 3.10+
- Docker & Docker Compose
- API Keys (Gemini, Google Fact Check, GNews)
git clone https://github.com/2025harshrupreja/Truth-Lens-Mini-Project.git
cd Truth-Lens-Mini-ProjectCreate a .env file in the root directory:
# Database
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/truthlens
# API Keys
GEMINI_API_KEY=your_gemini_api_key
GOOGLE_FACTCHECK_API_KEY=your_google_factcheck_key
GNEWS_API_KEY=your_gnews_api_key
# JWT
JWT_SECRET=your_jwt_secret_keydocker-compose up -dcd client
npm installnpm run dev- Frontend: http://localhost:3000
- Backend API Docs: http://localhost:8000/docs
We use a 3-tier branching strategy:
main (production-ready, demo-ready)
β
βββ dev (integration & testing)
β
βββ shivam
βββ harsh
βββ uday
Flow: personal branch β dev β main
π See CONTRIBUTING.md for detailed guidelines.
This project uses AI-assisted development. Each team member should use the AI prompt in CONTRIBUTING.md to ensure safe, merge-friendly code changes.
| Landing Page | Analysis Results |
|---|---|
| Dark theme with modern UI | Detailed verification breakdown |
This project is developed as part of an academic mini-project.
Built with β€οΈ by Team TruthLens
Shivam β’ Harsh β’ Uday