A comprehensive demo application showcasing the powerful integration between Progress Agentic RAG AI-powered search capabilities and KendoReact UI components. This application demonstrates how to build intelligent, data-driven interfaces that combine enterprise-grade AI retrieval with beautiful, functional user interfaces.
- AI-Powered Q&A: Ask questions about KendoReact documentation and get intelligent, contextual answers
- Interactive Chat Interface: Beautiful conversational UI powered by KendoReact Chat component
- Smart Suggestions: Pre-defined question suggestions to help users get started
- Syntax Highlighting: Code examples in responses are beautifully formatted with syntax highlighting
- Real-time Streaming: Server-sent events for responsive, real-time answer generation
- Structured Data Extraction: AI processes financial documents and extracts structured chart data
- Dynamic Chart Visualization: Automatically generates interactive bar charts from AI responses
- Multi-Company Analysis: Query financial data for Apple, Amazon, Google, NVIDIA, and other major companies
- Split-Screen Interface: Chat on one side, dynamically generated charts on the other
- Real-time Updates: Charts update automatically as new financial queries are processed
This is a full-stack TypeScript application with:
- React 19 with TypeScript
- KendoReact Components for enterprise-grade UI
- Vite for fast development and optimized builds
- React Router for navigation
- Server-Sent Events for real-time communication
- Node.js/Express API server
- Progress Agentic RAG SDK for AI-powered search and data extraction
- TypeScript for type safety
- JSON Schema validation for structured responses
- React 19 + TypeScript
- KendoReact UI Components
- React Router DOM
- React Syntax Highlighter
- Vite (build tool)
- Node.js + Express
- Progress Agentic RAG Core SDK
- TypeScript
- CORS middleware
- dotenv for configuration
Chat
- Conversational UI for AI interactionsChart
- Dynamic data visualizationAppBar
- Application header with navigationDrawer
- Collapsible navigation sidebarButton
- Interactive elementsCard
- Content containersLayout
components for responsive design
- Node.js 18+ and npm
- Progress Agentic RAG API keys (for backend functionality)
- KendoReact license (for UI components)
-
Clone the repository
git clone https://github.com/telerik/kendo-progress-rag-demo.git cd kendo-progress-rag-demo
-
Install dependencies
# Install root dependencies npm install # Install client dependencies cd client && npm install # Install server dependencies cd ../server && npm install
-
Configure environment variables
Server configuration (
/server/.env
):# React Documentation Knowledge Box NUCLIA_KB=your_react_kb_id NUCLIA_API_KEY=your_react_api_key # Financial Data Knowledge Box NUCLIA_FIN_KB=your_finance_kb_id NUCLIA_FIN_API_KEY=your_finance_api_key PORT=5000
Client configuration (
/client/.env
):# For development: leave empty (uses localhost:5000 via proxy) # For production: set to your deployed API URL VITE_API_BASE_URL=
-
Activate KendoReact license
cd client npx kendo-ui-license activate
Start both client and server concurrently:
npm run dev
Or start them separately:
# Start backend server (from /server)
npm run dev
# Start frontend client (from /client)
npm run dev
The application will be available at:
- Frontend: http://localhost:5173
- Backend API: http://localhost:5000
# Build both client and server
npm run build
# Start production server
npm start
kendo-progress-rag-demo/
βββ client/ # React frontend application
β βββ src/
β β βββ components/ # Reusable UI components
β β β βββ AppBarComponent.tsx
β β β βββ ChatMessage.tsx
β β β βββ DrawerComponent.tsx
β β βββ hooks/ # Custom React hooks
β β β βββ useChatBot.tsx
β β βββ pages/ # Page components
β β β βββ Home.tsx
β β β βββ KnowledgeAssistant.tsx
β β β βββ FinanceAnalysis.tsx
β β βββ config/ # Configuration files
β β β βββ api.ts
β β βββ App.tsx # Main application component
β βββ package.json
β βββ vite.config.ts
βββ server/ # Express backend API
β βββ src/
β β βββ schemas/ # JSON schemas for validation
β β β βββ charts-json-schema.ts
β β βββ index.ts # Main server file
β βββ package.json
β βββ tsconfig.json
βββ package.json # Root package.json for scripts
βββ README.md
GET /api/health
- Server health status
POST /api/ask
- Ask questions about React/KendoReact documentation{ "question": "How do I implement theming in KendoReact?" }
POST /api/ask-charts
- Query financial data with structured chart responses{ "question": "Compare Apple's revenue by product line in 2024 vs 2023" }
Both endpoints return Server-Sent Events (SSE) streams for real-time responses.
The application uses Server-Sent Events (SSE) to stream AI responses in real-time, providing a responsive chat experience without blocking the UI.
The finance analysis feature uses JSON Schema validation to ensure AI responses include properly structured chart data that can be immediately visualized.
Built with KendoReact's responsive utilities, the application adapts seamlessly to desktop, tablet, and mobile viewports.
Chat responses automatically detect and highlight code blocks with proper language syntax highlighting for better readability.
The repository includes GitHub Actions workflows for automated deployment:
- Frontend: Deploys to GitHub Pages on push to
master
- Backend: Deploys to Azure Web App on push to
master
Frontend (Static hosting):
cd client
npm run build
# Deploy contents of dist/ folder to your static hosting provider
Backend (Node.js hosting):
cd server
npm run build
npm start
For questions about:
- KendoReact components: Visit KendoReact Documentation
- Progress Agentic RAG platform: Visit Progress Agentic RAG Documentation
- This demo application: Open an issue in this repository