# RumorLens **Repository Path**: flyingtoad/RumorLens ## Basic Information - **Project Name**: RumorLens - **Description**: Weibo Rumor Detection Platform powered by DeepSeek AI - Vue 3 + FastAPI + PostgreSQL - **Primary Language**: Python - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-07 - **Last Updated**: 2026-03-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # RumorLens Weibo Rumor Detection Platform powered by DeepSeek AI. ## Features - Single and batch rumor detection - Credibility scoring and risk level assessment - Detailed analysis with keywords, sentiment, and category classification - Rumor origin tracing and propagation analysis - Detection history management - Analytics dashboard with trend visualization - User authentication system ## Tech Stack ### Backend - Python 3.11+ - FastAPI - SQLAlchemy 2.0 (async) - PostgreSQL - DeepSeek API ### Frontend - Vue 3 - TypeScript - Vite - Ant Design Vue - Pinia - ECharts ## Quick Start ### 1. Prerequisites - Python 3.11+ - Node.js 18+ - PostgreSQL 15+ - DeepSeek API Key ([https://platform.deepseek.com](https://platform.deepseek.com)) ### 2. Database Setup Install PostgreSQL and create database: ```bash # Ubuntu/Debian sudo apt install postgresql postgresql-contrib # macOS brew install postgresql # Windows # Download from https://www.postgresql.org/download/windows/ ``` Create user and database: ```bash sudo -u postgres psql # In psql shell: CREATE USER rumorlens WITH PASSWORD 'rumorlens'; CREATE DATABASE rumorlens OWNER rumorlens; GRANT ALL PRIVILEGES ON DATABASE rumorlens TO rumorlens; \q ``` ### 3. Backend Setup ```bash cd backend # Create virtual environment python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate # Install dependencies pip install -r requirements.txt # Configure environment cp .env.example .env # Edit .env, fill in your DEEPSEEK_API_KEY ``` `.env` key fields: ``` DEEPSEEK_API_KEY=sk-xxxxx # Required SECRET_KEY=change-this-to-random # JWT signing key POSTGRES_HOST=localhost POSTGRES_PORT=5432 POSTGRES_USER=rumorlens POSTGRES_PASSWORD=rumorlens POSTGRES_DB=rumorlens ``` Start backend: ```bash uvicorn app.main:app --host 0.0.0.0 --port 8000 ``` Database tables are auto-created on first startup. ### 4. Frontend Setup Open a new terminal: ```bash cd frontend # Install dependencies npm install # Start dev server npm run dev ``` ### 5. Access - Frontend: [http://localhost:5173](http://localhost:5173) - API Docs: [http://localhost:8000/api/v1/docs](http://localhost:8000/api/v1/docs) Register an account and start detecting! ## API Documentation - Swagger UI: http://localhost:8000/api/v1/docs - ReDoc: http://localhost:8000/api/v1/redoc - Health Check: http://localhost:8000/health ## Project Structure ``` RumorLens/ ├── backend/ # FastAPI backend │ ├── app/ │ │ ├── api/v1/ # API routes (auth, detection, history, analysis) │ │ ├── core/ # Config, database, security │ │ ├── models/ # SQLAlchemy models │ │ ├── schemas/ # Pydantic schemas │ │ ├── services/ # Business logic (DeepSeek, detection, auth) │ │ └── utils/ # Text processing utilities │ ├── migrations/ # Alembic database migrations │ └── data/ # Datasets ├── frontend/ # Vue 3 frontend │ └── src/ │ ├── api/ # Axios API calls │ ├── composables/ # Vue composables │ ├── layouts/ # Page layouts │ ├── stores/ # Pinia stores │ ├── types/ # TypeScript definitions │ └── views/ # Page views └── docker-compose.yml # Docker development setup ``` ## Dataset This project uses the Ma-Weibo dataset: - 4664 labeled events (2313 rumors, 2351 non-rumors) - Source: https://www.scidb.cn/en/detail?dataSetId=1085347f720f4cfc97a157e469734a66 ## License MIT