Overview of Test Lab Architecture Components
Test Lab is a self-hosted, open-source A/B testing and feature management platform modeled after Unleash. It enables users to manage features and collect, retrieve, and analyze event data from experiments. The architecture consists of four primary components:
- Backend Server: A Node.js with Express server that provides API endpoints for feature lifecycle management (create, edit, delete), configuration retrieval, and data collection.
- Admin User Interface (Admin UI): A React-based dashboard used to manage current, scheduled, and past features and visualize experiment results.
- Database: A PostgreSQL instance used to persist feature definitions, user base block allocations for experiments, and event data for analytics.
- Native SDKs: Client libraries for Node.js, React, Ruby, and Python that communicate with the Test Lab API to allocate requests to specific features.