Skip to main content

Environment Setup

This document details all tools and their installation methods required to set up the Evatar development environment.


Python 3.11+

The backend is developed with Python 3.11. Version 3.11 or higher is recommended.

Installation

# Ubuntu/Debian
sudo apt update && sudo apt install python3.11 python3.11-venv python3-pip

# macOS (Homebrew)
brew install python@3.11

# Arch Linux
sudo pacman -S python python-pip

Verify

python3 --version
# Expected: Python 3.11.x or higher

python3 -m venv --help
# Confirm venv module is available

Create Virtual Environment

cd backend
python3 -m venv .venv
source .venv/bin/activate
python --version # Confirm version is correct after activation
tip

It is strongly recommended to use a virtual environment to isolate project dependencies and avoid conflicts with system Python packages.


Node.js 22+ and pnpm

The frontend is built with Vite 8 + React 19 + TypeScript 6, requiring Node.js 22 or higher.

Install Node.js

# Using nvm (recommended)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash
source ~/.bashrc
nvm install 22
nvm use 22

# Or using system package manager
# Ubuntu: curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash - && sudo apt install nodejs
# Arch: sudo pacman -S nodejs npm

Install pnpm

# Via corepack (built into Node.js)
corepack enable
corepack prepare pnpm@latest --activate

# Or install directly
npm install -g pnpm

Verify

node --version
# Expected: v22.x.x or higher

pnpm --version
# Expected: 9.x.x or higher

Android Studio and SDK

The Android client is built with Jetpack Compose, requiring Android Studio and SDK API 34.

Install Android Studio

  1. Download the latest stable version from developer.android.com/studio
  2. After installation, open it and go to SDK Manager (Settings -> Languages & Frameworks -> Android SDK)
  3. Install the following components:
    • SDK Platforms: Android 14 (API 34)
    • SDK Tools: Android SDK Build-Tools, Android SDK Platform-Tools

Verify

# Confirm SDK path
echo $ANDROID_HOME
# Expected: /Users/xxx/Library/Android/sdk (macOS)
# or /home/xxx/Android/Sdk (Linux)

# List installed SDK versions
$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager --list_installed

JDK 17

Android Gradle Plugin and Kotlin compilation require JDK 17. build.gradle.kts explicitly specifies jvmTarget = "17".

Installation

# Ubuntu/Debian (Eclipse Temurin)
sudo apt install openjdk-17-jdk

# macOS (Homebrew)
brew install --cask temurin@17

# Arch Linux
sudo pacman -S jdk17-openjdk

Verify

java -version
# Expected: openjdk version "17.x.x"

javac -version
# Expected: javac 17.x.x
note

Android Studio comes with its own JDK, but command-line builds (./gradlew) require system JDK 17. If using Android Studio's built-in JDK, set JAVA_HOME to point to Studio's JDK path.

Set JAVA_HOME

# Linux (Temurin)
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk

# macOS (Temurin via Homebrew)
export JAVA_HOME=/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home

# Write to shell config file for persistence
echo 'export JAVA_HOME=/usr/lib/jvm/java-17-openjdk' >> ~/.zshrc

ADB (Android Debug Bridge)

Used to install APKs to physical devices, view logs, etc.

Installation

ADB is installed with Android SDK Platform-Tools. If Android Studio is already installed, ADB is included.

# Standalone installation
# Ubuntu: sudo apt install android-tools-adb
# macOS: brew install android-platform-tools
# Arch: sudo pacman -S android-tools

Verify

adb version
# Expected: Android Debug Bridge version 1.0.xx

# Check after connecting device
adb devices
# Expected:
# List of devices attached
# XXXXXXXX device

Enable USB Debugging

On the Android device:

  1. Go to Settings -> About Phone, tap Build Number 7 times to enable developer mode
  2. Go to Settings -> System -> Developer Options
  3. Enable USB Debugging
  4. Connect via USB to computer, tap "Allow" when the authorization dialog appears

Git

Installation

# Ubuntu/Debian
sudo apt install git

# macOS
xcode-select --install

# Arch Linux
sudo pacman -S git

Verify

git --version
# Expected: git version 2.x.x

# Configure user info (if not configured)
git config --global user.name "Your Name"
git config --global user.email "you@example.com"

Environment Checklist

Before starting development, run the following commands to confirm all tools are ready:

echo "=== Environment Check ==="
python3 --version # Python 3.11+
node --version # v22+
pnpm --version # 9+
java -version # 17.x
git --version # 2.x+
adb version # 1.0.xx

Once all versions meet requirements, proceed to First Run.