Skip to content

# Dev Mode Installation Guide ​

This setup is tailored for developers running backend services locally for advanced debugging or modification.

> ⚠️ IMPORTANT: Advanced Users Only

> This installation method is designed for experienced developers who need direct access to running processes for debugging and development. Due to the complexity of manual setup:

> - ✋ We cannot provide item support for issues related to this installation method
> - ✋ Self-troubleshooting is required for most configuration issues
> - ✋ Not recommended for production — use Docker installation instead

> If you need guaranteed support, please use the Docker Installation Guide (Pre-built) instead.

## 🔧 Prerequisites ​

### System Requirements ​

- Operating System: Ubuntu 22.04 LTS, macOS 12+, or Windows 11 with WSL2
- RAM: Minimum 8GB (16GB recommended for development)
- Disk Space: At least 20GB free space
- Network: Static IP address (to avoid license validation conflicts)

### Required Software & Versions ​

Ensure the following are installed with the minimum required versions:

#### Node.js 22+ ​

bash

    # Check your Node.js version
    node --version

    # Should output v22.x.x or higher

Installation:

bash

    # Using NVM (recommended)
    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
    nvm install 22
    nvm use 22

    # Or download from official site
    # https://nodejs.org/

#### NX CLI (Latest) ​

bash

    # Install NX globally
    npm install -g nx@latest

    # Verify installation
    nx --version

#### MySQL 8+ ​

bash

    # Check MySQL version
    mysql --version

    # Should output MySQL 8.x.x or higher

Installation:

Ubuntu/Debian:

bash

    sudo apt update
    sudo apt install mysql-server
    sudo mysql_secure_installation

macOS:

bash

    brew install mysql@8.0
    brew services start mysql@8.0

Windows (WSL2):

bash

    sudo apt update
    sudo apt install mysql-server
    sudo service mysql start

Configuration:

bash

    #### **Redis 8.2+**

    ```bash
    # Check Redis version
    redis-server --version

    # Should output Redis server v=8.2.x or higher

Installation:

Ubuntu/Debian:

bash

    curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg
    echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list
    sudo apt update
    sudo apt install redis
    sudo systemctl enable redis-server
    sudo systemctl start redis-server

macOS:

bash

    brew install redis
    brew services start redis

Windows (WSL2):

bash

    curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg
    echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list
    sudo apt update
    sudo apt install redis
    sudo service redis-server start

Verify Redis is running:

bash

    redis-cli ping
    # Should return: PONG

### Optional but Recommended ​

- Git (for version control)
- Docker (for running isolated services if needed)
- VS Code or WebStorm (recommended IDEs with NX support)

## 📁 Environment Setup ​

1. Copy the environment file:

   bash

       cp .env.example .env

2. Edit all `# REQUIRED` values in the `.env` file:

   - Database connection
   - Redis configuration
   - Application URLs and API keys
   - Ports for each service

> ⚠️ Changing IPs may cause license validation issues. Use a static IP or consider a VPS.

## 🏁 Start Backend Services ​

### Step 1: Run Admin Services First ​

Start the admin-api and admin-panel services first:

bash

    nx serve admin-api
    nx serve admin-panel

Complete all configuration steps in the admin panel. Ensure the served admin-panel is pointing to the running admin-api's port, as defined in the `.env` file.

### Step 2: Run Other Services ​

Once the admin panel is fully configured and the configuration file is present, you can start other services. These services depend on the admin panel being properly set up:

bash

    nx serve rider-api
    nx serve driver-api
    nx serve payment-gateways

Alternatively, run all services at once:

bash

    nx run-many --target=serve --projects=rider-api,driver-api,payment-gateways

> ✅ Migrations run automatically when `admin-api` is started with a valid database.

## 📞 Support & Assistance ​

> ⚠️ Limited Support Notice

> Dev mode (manual) installations are not covered under standard item support. We cannot provide technical assistance for manual setup issues, environment-specific problems, or custom configurations.

### Self-Help Resources ​

If you encounter issues, please refer to:

- 📖 Common Errors & Resolutions — General troubleshooting guide
- 🔧 Node.js Documentation — Official Node.js resources
- 📦 NX Documentation — NX workspace and monorepo guides
- 🗄️ MySQL Documentation — MySQL setup and configuration
- 🔴 Redis Documentation — Redis installation and usage
- 🔍 Community forums and Stack Overflow

### Supported Issues ​

We can assist with:

- ✅ License validation problems

What we do NOT support:

- ❌ Manual installation or setup issues
- ❌ Operating system-specific problems
- ❌ Dependency version conflicts
- ❌ Custom code modifications
- ❌ Environment configuration issues
- ❌ Performance tuning for development setups

### Need Full Support? ​

If you require comprehensive technical support, we strongly recommend using:

- 🚀 Docker Installation Guide (Pre-built) — Officially supported

Ready for production? Use the Docker Installation Guide for a supported deployment method.