ESPROFILER Handbook
Engineering

Development Setup

This guide provides a detailed walkthrough of the ESPROFILER Development Environment Manager (DevEnvPro), a tool designed to simplify setting up and managing your local development environment.

The majority of the required software downloads can be found on the ESP Google Drive in Software Programming Downloads which should be already be installed accessible on your machine via G: virtual drive, should you have issues downloading software directly from the internet due to permission restrictions.

Always use Windows file explorer to browse and copy installers/bundles from Google Drive.
Do not use the Google Drive web interface to download software.
Do not install or upack software directly from G: virtual drive directory, Copy to your local machine first and install from there.

Folder location:

G:/Shared drives/ESP Common/Onboarding/Software/Programing

1. Prerequisites

Before you begin, please ensure you have the following relevant software installed and configurations set up on your computer:

Common Prerequisites

Backend Prerequisites

TBC

Frontend Prerequisites

2. Getting Started: Cloning the Repository

To get started, you must first clone the infra-devenv-pro repository from GitHub. This repository contains the management tool and all the necessary configuration files.

Ensure you clone the repository into C\Users\<your-username>\development.

Open a terminal or command prompt and run the following command:

git clone https://github.com/ES-Profiler/infra-devenv-pro.git

This will create a new folder named infra-devenv-pro on your machine.

3. Running the Manager

Open the File Explorer and navigate into the cloned repository folder. To launch the tool, simply double-click and run the esprofiler-dev.bat file.

This will open a command-line interface, install the necessary dependencies and present you with a menu of options.

4. Main Menu Features

The manager provides several options to help you manage your development environment.


Onboarding Wizard

What it is: This is the first step for any new user. The wizard sets up your entire development environment based on the type of work you do. When to use it: Run this the very first time you use the tool.

The wizard will ask you to select a Profile:

  • Frontend Only: If you only work on user interfaces (like the Platform SPA or Account Portal), choose this. It will clone only the frontend-related code repositories to your computer. The backend services will run automatically in Docker.
  • Backend Only: If you only work on APIs and server-side logic, choose this. It will clone only the backend-related code repositories. The frontend services will run automatically in Docker.
  • Fullstack: If you work on both frontend and backend code, this option is for you. It clones all necessary code repositories and runs other infrastructure services (like databases) in Docker.
  • Q&A: This profile is for team members who need to run the entire application for testing but do not need to edit the code. It WILL NOT clone any code repositories; instead, it runs all services (both frontend and backend) inside Docker.

After you select a profile, the wizard will clone the relevant repositories into a development folder located in your user's home directory (e.g., C:\Users\YourName\development).


Configure Environment

What it is: This option lets you change your setup after the initial onboarding. When to use it: Use this if you need to switch profiles or use a specific version of a service.

You can perform two main actions here:

  1. Change Profile: You can switch between the profiles described above (Frontend, Backend, Fullstack, Q&A) at any time.
  2. Override Container Tags: For any service that runs in Docker (i.e., the parts of the application you are not developing locally), you can specify a version. The default is latest, but you might want to use a specific version for testing, for example, feature-branch-name. This gives you fine-grained control over your environment. Not, if a branch has a / in it, then this will be changed to a - in the image name, e.g. improvement/my-improvement will be available as improvement-my-improvement

Update/Rebuild

What it is: This option updates both the management tool and your running Docker services. When to use it: Run this periodically to ensure you have the latest code and features.

This action does two things:

  1. Pulls the latest changes for the infra-devenv-pro tool itself.
  2. Rebuilds all the Docker containers, pulling the newest available images for all services. This ensures your environment is up-to-date.

Import Volume

What it is: A "volume" is where Docker stores persistent data, like a database. This option lets you load pre-packaged data into your environment. When to use it: Use this when you need a specific dataset for testing, such as an empty database, a partially filled one, or a large, production-like one.

You will be asked to choose a volume (e.g., esp-database-8 for the main database) and then a "tag" for the data you want to import:

  • empty: A clean slate.
  • partial: A small amount of sample data.
  • heavy: A large dataset for more comprehensive testing.

Export Volume

What it is: This is the reverse of importing. It packages your local data volume into a shareable image. When to use it: Use this if you have created a specific data setup (e.g., for a bug reproduction or a new feature) that you want to share with other team members. You will be prompted to give your export a "tag" (name).


Start/Stop Environment

  • Start Environment: Starts all the Docker containers associated with your currently configured profile.
  • Stop Environment: Shuts down all running services.

Reset Config

What it is: This deletes your local configuration (config.json and .env). When to use it: Use this only if your configuration is broken and you want to start over from scratch. After resetting, you will need to run the Onboarding Wizard again.


Local Login Credentials

How to log in to ESP Platform, Account Portal and Vendor Portal.

A local development environment login account is available for all the front-end app services:

Username: user@esprofiler.com
Password: ESProfiler@123
Copyright © 2026