InfoEdge is an open-source intelligence workbench for discovering trend signals, scoring business opportunities, and monitoring risk from public and authorized data sources.
The project combines a React/Vite frontend with a FastAPI backend. It organizes public feeds, optional API-based sources, third-party collectors, and restricted data-source placeholders into one workflow for opportunity research.
Live demo:
https://gaoyu666.github.io/infoedge/
The hosted demo is a static frontend preview. It shows the workbench shell and empty states without requiring private credentials or a running backend.
Run the local workbench with:
npm install
npm run devThen open:
http://localhost:5173
The frontend can run before the backend is configured. Empty-state dashboards are expected until the FastAPI service and data connectors are running.
- Source dashboard for public, gated, third-party, and restricted sources.
- Opportunity cards generated from news, communities, open-source projects, finance, geopolitics, supply chain, disaster, and market signals.
- FastAPI data pipeline for source collection, normalization, scoring, caching, and dashboard APIs.
- Model settings UI for GLM and other OpenAI-compatible model providers.
- Acceptance scripts for API and UI behavior checks.
- Frontend: React 19, TypeScript, Vite, Recharts, lucide-react
- Backend: Python, FastAPI, SQLAlchemy, Redis, PostgreSQL
- Tests: TypeScript build, Python unittest, Playwright-based acceptance scripts
.
|-- src/ # React frontend
|-- backend/
| |-- app/ # FastAPI app, APIs, services, data models
| |-- tests/ # Backend tests
| |-- .env.example # Backend environment template
| `-- requirements.txt # Backend dependencies
|-- docs/ # Architecture, deployment, backend, and OSS notes
|-- .github/ # CI, Pages deployment, and collaboration templates
|-- scripts/ # Frontend/API acceptance scripts
|-- package.json # Frontend dependencies and scripts
|-- PRD_CN.md # Chinese product requirements draft
`-- README.md
git clone https://github.com/gaoyu666/infoedge.git
cd infoedgenpm install
npm run devThe frontend defaults to:
http://localhost:5173
It will try to connect to the backend at:
http://127.0.0.1:8000
http://localhost:8000
To override the backend URL, create a local .env.local file:
echo VITE_API_BASE_URL=http://127.0.0.1:8000 > .env.localDo not commit .env.local.
cd backend
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
copy .env.example .env
python -m uvicorn app.main:app --host 0.0.0.0 --port 8000 --reloadHealth check:
GET http://127.0.0.1:8000/api/health
The backend template lives at:
backend/.env.example
Copy it before local development:
cd backend
copy .env.example .envCommon settings:
PG_USER
PG_PASSWORD
PG_HOST
PG_PORT
PG_DB
REDIS_HOST
REDIS_PORT
REDIS_PASSWORD
REDIS_DB
Optional authorized data-source and model settings:
APIFY_TOKEN
GLM_API_KEY
GLM_BASE_URL
GLM_MODEL
Security notes:
- Do not commit
backend/.env,.env.local, database passwords, Redis passwords, API keys, cookies, or access tokens. - Use authorized APIs and provider terms when enabling gated sources.
- Restricted platform sources are documented as placeholders and should not be scraped without permission.
The frontend source registry currently tracks roughly:
61 public or pullable candidate sources
59 sources requiring keys, tokens, accounts, or relay configuration
28 third-party or pending integration sources
2 restricted platform sources
Backend source and pipeline code is mainly in:
backend/app/services/real_pipeline.py
backend/app/services/sources/
src/main.tsx
Frontend build:
npm run buildBackend source-expansion test:
cd backend
python -m unittest tests.test_source_expansion -vAPI acceptance scripts:
npm run accept:opportunity-actions:api
npm run accept:buttons:apiThe near-term roadmap is tracked in ROADMAP.md. Current priorities are connector coverage, backend reliability, UI empty-state clarity, and maintainable contributor workflows.
For architecture details, see docs/ARCHITECTURE.md. For deployment details, see docs/DEPLOYMENT.md. For local backend services, see docs/LOCAL_BACKEND.md.
Contributions are welcome. Please open an issue or pull request with a clear description, reproduction steps where relevant, and the test command you ran.
For more details, see CONTRIBUTING.md.
This project is released under the MIT License. See LICENSE.
