A modern Next.js frontend application for the universal business review extraction system, featuring real-time extraction progress, advanced filtering, and multiple export formats.
- Business Categories: Restaurants, hotels, dental practices, retail stores, and custom categories
- Location Filtering: Search by city, region, or country
- Rating Filters: Filter by business rating (β€ 4.6 stars) and review rating (β€ 3 stars)
- Time Range: Extract reviews from last 7, 14, 30, 60, or 90 days
- Advanced Options: Business limits, review limits, minimum reviews per business
- Dual View Modes: Toggle between table view and card-based list view
- Live Progress: Real-time extraction progress with step-by-step updates
- Smart Filtering: Filter results by rating, business, or custom criteria
- Pagination: Handle large datasets with intelligent pagination
- Multiple Formats: Export to JSON, CSV, or Excel (XLSX)
- Custom Field Selection: Choose which data fields to include
- Progress Tracking: Real-time export progress indicators
- Automatic Downloads: Files download automatically when ready
- Responsive Design: Works seamlessly on desktop, tablet, and mobile
- Dark Mode Support: Built-in dark/light theme support
- Intuitive Interface: Clean, professional design using ShadCN UI
- Accessibility: WCAG compliant with keyboard navigation support
- Framework: Next.js 15 with App Router
- Language: TypeScript for type safety
- Styling: Tailwind CSS for responsive design
- UI Components: ShadCN UI for consistent design system
- Forms: React Hook Form with Zod validation
- Icons: Lucide React for modern iconography
- Export: XLSX library for Excel export functionality
- Node.js 18+
- npm or yarn
- Access to the universal-business-review-extractor.js backend
- Navigate to the project:
cd /Users/kris/CLAUDEtools/ORCHESTRAI/review-extraction-frontend- Install dependencies:
npm install- Configure environment variables in
.env.local:
# Apify API Configuration
APIFY_API_TOKEN=your_apify_api_token_here
# Backend Configuration
BACKEND_EXTRACTOR_PATH=/Users/kris/CLAUDEtools/ORCHESTRAI/universal-business-review-extractor.js
# Next.js Configuration
NEXT_PUBLIC_APP_URL=http://localhost:3000- Start the development server:
npm run dev- Open your browser and visit
http://localhost:3000
- Select Business Category: Choose from predefined categories or enter custom
- Enter Location: Specify city, region, or country to search
- Set Rating Filters: Configure maximum business rating and review stars
- Choose Time Range: Select how far back to search for reviews
- Start Extraction: Click "Start Extraction" to begin the process
- Business Limit: Maximum number of businesses to analyze (1-50)
- Review Limit: Total number of reviews to extract (1-500)
- Minimum Reviews: Businesses must have at least this many reviews
- Max Reviews per Business: Limit reviews analyzed per business
- Text Length Filter: Minimum character count for review text
- Table View: Compact, sortable table with all review data
- List View: Card-based layout with detailed review information
- Filtering: Filter by rating stars, specific businesses, or custom criteria
- Sorting: Sort by date, rating, or business name
- Click Export Button after extraction completes
- Choose Format: Select JSON, CSV, or Excel
- Select Fields: Choose which data columns to include
- Export: Download starts automatically
src/
βββ app/
β βββ api/
β β βββ extract/route.ts # Extraction API endpoint
β β βββ export/route.ts # Export API endpoint
β βββ globals.css # Global styles
β βββ page.tsx # Main dashboard page
βββ components/
β βββ dashboard/
β β βββ review-extraction-dashboard.tsx
β βββ forms/
β β βββ search-form.tsx # Main search form
β βββ results/
β β βββ results-table.tsx # Table view component
β β βββ results-list.tsx # List view component
β β βββ extraction-progress.tsx # Progress indicator
β βββ cards/
β β βββ business-card.tsx # Business info card
β β βββ review-card.tsx # Review display card
β βββ modals/
β β βββ export-modal.tsx # Export configuration modal
β βββ ui/ # ShadCN UI components
βββ lib/
βββ utils.ts # Utility functions
npm run dev- Start development server with Turbopacknpm run build- Build for productionnpm run start- Start production servernpm run lint- Run ESLint
This project is part of the ORCHESTRAI system and follows the same licensing terms.