Professional React + TypeScript frontend for the Deep Research application, showcasing the MAF.
- Modern React UI - Built with React 18, TypeScript, and Vite
- Real-time Updates - WebSocket integration for live execution monitoring
- Workflow Visualization - Interactive flow diagram showing agent dependencies
- Professional Design - Tailwind CSS with custom dark theme
- Configuration Display - Complete visibility into workflow and agent setup
- Execution Monitoring - Real-time progress tracking and results viewer
- React 18 - Modern React with hooks
- TypeScript - Type-safe development
- Vite - Fast build tool and dev server
- TailwindCSS - Utility-first CSS framework
- React Flow - Interactive workflow visualization
- React Query - Data fetching and state management
- Axios - HTTP client
- Lucide React - Beautiful icon library
- Node.js 18+ and npm/yarn/pnpm
- Backend API running on http://localhost:8000
cd deep_research_app/frontend
# Install dependencies
npm install
# or
yarn install
# or
pnpm install# Start development server
npm run dev
# The app will be available at http://localhost:3000# Build optimized production bundle
npm run build
# Preview production build
npm run previewfrontend/
├── src/
│ ├── components/
│ │ ├── Dashboard.tsx # Stats dashboard
│ │ ├── ResearchForm.tsx # Research input form
│ │ ├── WorkflowVisualization.tsx # Workflow graph viewer
│ │ └── ExecutionMonitor.tsx # Real-time execution monitor
│ ├── App.tsx # Main application
│ ├── main.tsx # Entry point
│ ├── api.ts # API client
│ ├── types.ts # TypeScript types
│ └── index.css # Global styles
├── index.html
├── package.json
├── tsconfig.json
├── vite.config.ts
└── tailwind.config.js
- System health monitoring
- Execution statistics
- Real-time status updates
- Topic input with validation
- Configurable research depth
- Source count configuration
- Citation options
- Interactive flow diagram
- Task dependency visualization
- Agent configuration display
- Variable documentation
- Real-time progress tracking
- WebSocket live updates
- Task completion status
- Results viewer
- Error display
Create a .env file in the frontend directory:
VITE_API_URL=http://localhost:8000The Vite dev server is configured to proxy API requests:
// vite.config.ts
server: {
proxy: {
'/api': 'http://localhost:8000',
'/ws': {
target: 'ws://localhost:8000',
ws: true,
},
},
}Edit tailwind.config.js to customize colors:
theme: {
extend: {
colors: {
primary: { /* your colors */ },
success: { /* your colors */ },
// ...
},
},
}Modify src/api.ts to change the backend URL:
const API_BASE_URL = import.meta.env.VITE_API_URL || 'http://your-api.com';Vite provides instant HMR - changes appear immediately without page reload.
All components are fully typed. Use TypeScript's IntelliSense for better DX.
Add React Query DevTools for debugging:
npm install @tanstack/react-query-devtoolsComponents follow a modular pattern - each handles its own state and API calls.
- Chrome/Edge (latest)
- Firefox (latest)
- Safari (latest)
- Code splitting with React.lazy
- Optimized builds
- Tree-shaking unused code
- CSS purging with Tailwind
Change the port in vite.config.ts:
server: {
port: 3001,
}Ensure the backend is running on http://localhost:8000 and check CORS settings.
Clear node_modules and reinstall:
rm -rf node_modules package-lock.json
npm installMIT - Part of the Foundation Framework