Files
loyaly-catalogue/frontend/vite.config.js
sriram c7e4d59188 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>
2026-10-01 12:17:42 +05:30

31 lines
829 B
JavaScript

import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
import tailwindcss from '@tailwindcss/vite'
// Both dev and preview forward /api/* to FastAPI, so a same-origin (relative)
// request works whichever local server is delivering the page. Keep the two in
// sync: `preview` serves dist/, and without this it would answer /api with a
// 404 index.html, which surfaces in the UI as a login failure.
const apiProxy = {
'/api': {
// Proxy all /api/* requests straight to FastAPI on port 8000
target: 'http://127.0.0.1:8000',
changeOrigin: true,
secure: false,
ws: true,
},
}
// https://vite.dev/config/
export default defineConfig({
plugins: [react(), tailwindcss()],
server: {
port: 5173,
proxy: apiProxy,
},
preview: {
port: 4173,
proxy: apiProxy,
},
})