High-Performance Research Dashboard | React + Vite + C++ Integration bundlab-ui is the frontend nerve center for the BundLab ecosystem. It provides a real-time, terminal-style interface to interact with low-level C++ computational engines via a FastAPI bridge.
Framework: React 18 (Functional Components & Hooks)
Build Tool: Vite (Lightning-fast HMR)
Styling: Tailwind CSS
Communication: RESTful API fetching with defensive Error Handling
Environment: Dockerized for consistent deployment on Ubuntu 24.04
bundlab-ui/ ├── src/ │ ├── components/ # Reusable UI elements │ ├── Terminal.jsx # The C++ interaction engine │ ├── WelcomeDashboard.jsx # API status & environment monitoring │ └── App.jsx # Main entry point & routing ├── public/ # Static assets └── tailwind.config.js # Design system configuration
Prerequisites Node.js (v18+)
Docker & Docker Compose
Access to the bundlab-service (API) on port 8000
Installation & Development Clone the repository:
Bash git clone https://github.com/bundlab/bundlab-ui.git cd bundlab-ui Install dependencies:
Bash npm install Run in Development Mode:
Bash npm run dev The UI will be available at http://localhost:5173.
The UI is designed to communicate with 127.0.0.1:8000. To prevent CORS blocking in local development:
- Ensure the backend has CORSMiddleware enabled.
- The WelcomeDashboard uses optional chaining (?.) to handle asynchronous data streams from the C++ engine safely.
- C++ Worker Execution: Trigger heavy computations directly from the browser.
- Live Terminal: Streamed JSON output from shared library (.so) workers.
- Environment Awareness: Auto-detects the host OS (e.g., Ubuntu 24.04) and service status.
Distributed under the MIT License. See LICENSE for more information.