Spaces:
Sleeping
LinkScout Web Interface
Smart Analysis. Simple Answers.
A modern Next.js web application for analyzing articles and detecting misinformation using AI-powered analysis.
π Features
- URL & Text Analysis: Paste any URL or text to analyze for misinformation
- AI-Powered Insights: Get detailed analysis using 8 ML models + Revolutionary Detection
- Beautiful UI: Modern, responsive design with gradient animations
- Extension Download: Download the browser extension directly from the website
- Real-time Results: See analysis results instantly with detailed breakdowns
π Prerequisites
- Node.js 18+ and npm
- Python 3.10+ (for backend server)
- Backend Server Running on
http://localhost:5000
π οΈ Installation & Setup
1. Install Dependencies
cd d:\LinkScout\web_interface\LinkScout
npm install
2. Start the Backend Server (Required!)
First, you must start the Python backend server:
cd d:\LinkScout
python combined_server.py
Wait until you see:
β
Server running on http://localhost:5000
3. Start the Web Interface
In a new terminal:
cd d:\LinkScout\web_interface\LinkScout
npm run dev
4. Open in Browser
Navigate to: http://localhost:3000
π― Usage
Analyzing Content
- Go to the Search page (
/search) - Paste a URL or text into the chat input
- Press Enter or click Send
- View the comprehensive analysis results
Downloading the Extension
- Go to the Extensions page (
/extensions) - Click "Download Extension"
- The ZIP file will be downloaded automatically
- Extract and load into your browser
π Project Structure
LinkScout/
βββ app/
β βββ page.tsx # Home page
β βββ search/page.tsx # Analysis page
β βββ extensions/page.tsx # Extension download
β βββ api/
β βββ analyze/route.ts # Analysis API proxy
β βββ health/route.ts # Health check
β βββ download-extension/route.ts
βββ components/
β βββ analysis-results.tsx # Results display component
β βββ app-layout.tsx # Main layout
β βββ ui/
β βββ ai-chat-input.tsx
β βββ animated-shader-hero.tsx
βββ package.json
π§ Configuration
Backend URL
By default, the web interface connects to http://localhost:5000.
To change this, create a .env.local file:
NEXT_PUBLIC_BACKEND_URL=http://localhost:5000
π Available Pages
/- Home page with hero and CTA/search- Main analysis interface/extensions- Download browser extension/history- View past analyses (placeholder)/settings- User settings (placeholder)
π§ͺ Development
Build for Production
npm run build
npm run start
Linting
npm run lint
Run Tests
npm run test:e2e
π Troubleshooting
"Failed to analyze content"
Solution: Ensure the Python backend server is running on port 5000:
cd d:\LinkScout
python combined_server.py
"Extension download failed"
Solution: Make sure:
- Backend server is running
- The
extensionfolder exists ind:\LinkScout\extension
Port Already in Use
If port 3000 is busy, Next.js will automatically use the next available port (3001, 3002, etc.)
π Architecture
User Browser
β
Next.js (Port 3000)
β (API Routes)
Python Backend (Port 5000)
β
ML Models + Groq AI + Detection Systems
The Next.js app acts as a frontend and API proxy, forwarding requests to the Python backend which performs the actual analysis.
π Security
- All API routes are CORS-enabled
- No sensitive data is stored on the frontend
- Extension download is served securely
π Notes
- The web interface and browser extension share the same backend server (
combined_server.py) - The extension works independently of the website
- All analysis logic is in the Python backend
- Frontend is purely presentational
π Next Steps
- Customize the UI colors/branding in
tailwind.config.ts - Add authentication for personalized history
- Implement caching for faster repeat analyses
- Add more visualization options
π Support
For issues, check:
- Backend server console for errors
- Browser DevTools console
- Network tab for failed requests
Made with β€οΈ using Next.js 15 + React 19 + Tailwind CSS