Skip to main content
Skip table of contents

Onboarding

1. Prerequisites & Access Setup

Reference Ticket: INFR-35741

Before starting local development, ensure the following access items are provisioned and working (in order):

  1. LDAP Registration — Required for all internal authentication. (https://zetaglobal.atlassian.net/wiki/x/B_U3B )

  2. JFrog Access — Required for pulling packages and Docker images. Set up identity tokens as part of this step.

  3. SSO Access — Enables single sign-on to internal tools.

  4. VPN Access — Required before accessing any internal URLs. (Accounts: VPN )

  5. GitLab Accesshttps://gitlab.infr.zglbl.net/ (You must be connected to VPN first.)


2. Useful Resources

Here are some key pages to help you get up to speed with ZMP:

Resource

Description

https://zetaglobal.atlassian.net/wiki/x/PAI1Tw

This module provides a deep dive into ZMP’s end-to-end architecture, systems, and processes.

ZMP Troubleshooting Guide

Common setup issues and fixes — check here if you hit errors.

https://zetaglobal.atlassian.net/wiki/x/BO4QAg

References and details for JIRA Instances available within Zeta Global that are most used by Zeta Employees


3. ZMP Local Environment Setup

General Guidelines

  • Each project has its own README with setup instructions — always read it first.

  • Verify that your JFrog access and identity tokens are configured correctly before running any install commands.

  • Ensure Docker is installed, running, and has sufficient disk space — the setup pulls many images.

  • Set up each application in the order listed below, as there are dependencies between them.

  • If you hit errors during setup, check the ZMP Troubleshooting Guide .

2.1 FE Server

What it does: Acts as the proxy/gateway for the FE App. Contains proxy configuration that forwards requests to the BME App.

Repository: https://gitlab.infr.zglbl.net/zeta-crm/zme/fe-server

Initial Setup:
Please execute the steps outlined in the Prerequisites section of the README.md file in the fe-server project before proceeding. Ensure the declarations in your ~/.npmrc file follow the specified order, as an incorrect sequence may result in a Not Found error.

Running the app:

  • pnmp install — Install npm dependencies

  • docker compose up -d — Starts service dependencies

  • pnmp dev — Starts the server pointed at the Phoenix environment (default).

  • pnpm dev:local-bme — Starts the server pointed at your local BME instance.

  • Lastly, visit https://bme-fe.zetaglobal.net and log in using your phoenix credentials

2.2 FE App

What it does: The core UI implementation of ZMP. Almost all pages in ZMP are located in this project.

Repository: https://gitlab.infr.zglbl.net/zeta-crm/zme/fe-app

Running the app:

  • yarn install — Install npm dependencies

2.3 BME App

What it does: The backend core of ZMP. Acts as the gateway for various microservices in the ZMP ecosystem, communicating via Thrift.

Repository: https://gitlab.infr.zglbl.net/zeta-crm/zme/bme-app

Connecting to local BME:

  • By default, FE Server points to the Phoenix environment. To use your local BME instead, restart FE Server with yarn run dev:local-bme.

Local OAuth bypass (required for local authentication):

  1. Set up an Auth0 user as described in the README — use your own email address.

image-20260304-001736.png
  1. Modify omniauth_callbacks_controller.rb with the details from step 1.

image-20260304-001627.png
  1. Restart the application.

2.4 People Service

What it does: Microservice responsible for people/subscriber features. Stores people definitions and identity data within the ZMP ecosystem.

Repository: https://gitlab.infr.zglbl.net/zeta-crm/zmp/people-service

Running locally (exposed to other Docker components):

bash

CODE
docker run --network people-service-local --name people-service --rm -ti \
  -p 8000:8000 \
  people-service gunicorn_thrift zh_people_service.people.thrift.server:app --bind 0.0.0.0:8000

Connecting BME to local People Service:

  • Modify the Thrift config file in BME to point to your local People Service instead of the Phoenix environment.

image-20260304-002423.png

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.