Electronics Catalog: API, MCP server, frontend and deployment

Verified catalogue of mobiles and laptops sold in India, collected from
real retail listings (FastAPI backend, React frontend, Postgres/pgvector).

- REST API under /api/elec (read-only catalogue; admin endpoints need login)
- MCP server (FastMCP) at /mcp/ with list_categories, search_products,
  get_product and price_history tools
- Real ratings and reviews read from product pages and search results
- Production Dockerfile (requirements-api.txt, no PyTorch) and
  .env.production.example; remote database only via an explicit
  ELEC_ALLOW_REMOTE_DB host/name allowlist
- docs/API.md: endpoint and MCP reference with live examples

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
sriram
2026-10-01 12:17:42 +05:30
commit c7e4d59188
115 changed files with 14329 additions and 0 deletions

19
start_app.bat Normal file
View File

@@ -0,0 +1,19 @@
@echo off
title Electronics Catalog - Local Launcher
echo ========================================================
echo Electronics Catalog - search-first, evidence-backed (local only)
echo ========================================================
echo.
cd /d "%~dp0"
REM Start the local electronics database first (no-op if already running).
docker compose up -d
REM run_project.py is stdlib-only and re-execs the backend under
REM backend\.venv itself, so plain system python is fine here.
python run_project.py %*
if errorlevel 1 (
echo.
echo Launcher exited with an error - see the output above.
)
pause