4.0 KiB
Lotty A/B Platform
Service for managing A/B testing experiments. Drive your tests without breaking user experience!_)
🎨 Artifacts
ADR
Runbook
Diagrams
C4 Context
Source: C4 context
C4 Container
Source: C4 container
C4 Component
Source: C4 component
Testing report
Can be seen in GitLab CI/CD pipeline run
- Go to the pipelines page
- Click on the latest pipeline run

- Testing report (
Teststab)
- Tests coverage (
Jobstab)
Here on screenshot you can see coverage percent (97%), for detailed coverage per file go to the test job log
Here we can see statements coverage per file, you can check out job run artifacts for html report.
Click here on index.html and you'll see complete coverage html report.
Repository map
Yep, artifacts content is written in Russian, but all other docs are in English, this is for judges' convenient experience.
📋 Instructions
Dedicated services setup
Setup with docker compose
Warning
Please note that by default containers will use ports 80 (reverse proxy) and range 14601-14611 (for direct access to containers), so there is must be no listeners on this ports range. You can customize the ports in .env.template.
0. Prerequisites
- Docker (latest version recommended)
- Docker compose (latest version recommended)
- Cloned repository
1. Configuration
- Docker compose configuration files are stored in deploy/compose.
- Configuration files for containers are stored in infrastrucutre/configs.
Env could be customized by creating
.envfile in each service config directory, it will automatically override the default values from.env.template. - Ports on which containers will be accessible are defined in .env.template. This could be customized by creating
.envfile in the root directory and patching the following lines compose you are running:
x-defaults: &defaults
project_directory: ./
env_file:
- ./.env.template
- ./.env # add this
2. Choosing compose configuration
- compose.yaml - default configuration with base services included.
- compose.prod.yaml - configuration for production environment with full observability stack.
3. Running compose configuration
To run the compose configuration, use the following command:
docker compose -f compose.yaml up
# OR
docker compose -f compose.prod.yaml up
Thats it, project is already preconfigured for running, so no changes before running this are required.
Linting && formatting
Instructions here.
Observability
Structured logs
Health/ready endpoints (/health//ready)
Metrics (/metrics)
System metrics (gc, requests, etc.) and several business metrics (lotty_decide_requests_total, lotty_events_ingested_total).









