
A modern React-based tool for validating and managing workflow queues with real-time updates and interactive visualizations.
- Real-time Queue Monitoring: Track active, waiting, completed, and failed jobs across multiple workflow stages
- Company-Centric View: Group jobs by company and view their progress through the workflow
- Interactive Workflow Diagram: Visualize the entire workflow process with job counts
- Detailed Job Inspection: Examine job details, data, and logs in a user-friendly interface
- Job Management: Approve, retry, or manage jobs directly from the dashboard
- Frontend: React with TypeScript
- UI Components: Custom components with Tailwind CSS
- State Management: RxJS for reactive state management
- API Communication: Axios for HTTP requests
- Data Fetching: SWR for data fetching with caching and revalidation
- Containerization: Docker for deployment
- Orchestration: Kubernetes for container orchestration
This project uses RxJS for reactive data processing and state management. The application follows a reactive programming paradigm where data flows through streams (Observables) that can be transformed, combined, and consumed.
Key aspects of our RxJS implementation:
- Reactive Data Flow: Data flows through streams from API to UI
- Centralized State Management: Using BehaviorSubjects in QueueStore
- Non-blocking Operations: All data processing is asynchronous
- Declarative Transformations: Using operators like map, filter, mergeMap
For detailed information about our RxJS implementation and best practices, see RxJS-GUIDE.md.
- Node.js (v16+)
- npm or yarn
- Clone the repository
git clone <repository-url>
cd <repository-directory>
- Install dependencies
npm install
# or
yarn install
- Start the development server
npm run dev
# or
yarn dev
- Open your browser and navigate to
http://localhost:5173
/src
: Source code/components
: UI components/ui
: Reusable UI components
/hooks
: Custom React hooks/lib
: Utilities, types, and constants/assets
: Static assets
npm run build
# or
yarn build
Build the Docker image:
docker build -t garbo-validation-tool .
Run the container:
docker run -p 80:80 garbo-validation-tool
Apply the Kubernetes manifests:
kubectl apply -f k8s/