Prerequisites
Before diving into ACCI EAF development, ensure your system meets these requirements and has the necessary tools installed.
๐ System Requirementsโ
Operating Systemโ
- macOS 12.0 or later
- Windows 10/11 with WSL2
- Linux Ubuntu 20.04+ or equivalent
Hardwareโ
- RAM: 8GB minimum, 16GB recommended
- Storage: 10GB free space for tools and projects
- CPU: Any modern processor (Intel or Apple Silicon supported)
โ Java Development Kit (JDK)โ
ACCI EAF requires JDK 21 or higher for Kotlin/Spring development.
Installation Optionsโ
Option 1: SDKMAN (Recommended for macOS/Linux)โ
# Install SDKMAN
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
# Install latest JDK 21
sdk install java 21.0.7-tem
sdk use java 21.0.7-tem
# Verify installation
java -version
Option 2: Direct Downloadโ
- Oracle JDK: Download from Oracle
- OpenJDK: Download from OpenJDK
- Eclipse Temurin: Download from Adoptium
Verificationโ
# Check Java version
java -version
# Should show: openjdk version "21.0.x" or similar
# Check JAVA_HOME
echo $JAVA_HOME
# Should point to your JDK installation
๐ฏ Kotlinโ
Kotlin is automatically managed by Gradle in EAF projects, but you may want the command-line compiler for experimentation.
Installationโ
# Using SDKMAN
sdk install kotlin
# Using Homebrew (macOS)
brew install kotlin
# Verify installation
kotlin -version
๐ข Node.js & npmโ
Required for frontend development and tooling.
Installationโ
Option 1: Node Version Manager (Recommended)โ
# Install nvm (macOS/Linux)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
# Restart terminal or source profile
source ~/.bashrc
# Install and use Node.js 18+
nvm install 18
nvm use 18
# Set as default
nvm alias default 18
Option 2: Direct Downloadโ
- Download from nodejs.org (LTS version recommended)
Verificationโ
# Check Node.js version
node --version
# Should show: v18.x.x or higher
# Check npm version
npm --version
# Should show: 9.x.x or higher
๐ณ Docker & Docker Composeโ
Essential for running local infrastructure (NATS, PostgreSQL).
Installationโ
macOSโ
# Download Docker Desktop
# https://www.docker.com/products/docker-desktop
# Or using Homebrew
brew install --cask docker
Windowsโ
- Download Docker Desktop from docker.com
- Ensure WSL2 backend is enabled
Linux (Ubuntu)โ
# Install Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
# Add user to docker group
sudo usermod -aG docker $USER
# Install Docker Compose
sudo apt-get update
sudo apt-get install docker-compose-plugin
Verificationโ
# Check Docker version
docker --version
# Should show: Docker version 24.x.x or higher
# Check Docker Compose version
docker compose version
# Should show: Docker Compose version v2.x.x or higher
# Test Docker installation
docker run hello-world
โก Nx CLIโ
Global installation for monorepo management.
Installationโ
# Install globally
npm install -g nx
# Verify installation
nx --version
# Should show: 18.x.x or higher
๐ ๏ธ Recommended IDEsโ
Backend Development (Kotlin/Spring)โ
IntelliJ IDEA (Strongly Recommended)โ
- Community Edition: Free, excellent Kotlin support
- Ultimate Edition: Enhanced Spring Boot support, database tools
Download: jetbrains.com/idea
Essential Plugins:
- Spring Boot (Ultimate only)
- Kotlin (bundled)
- Docker
- Database Tools (Ultimate only)
Frontend Development (React/TypeScript)โ
Visual Studio Code (Recommended)โ
- Lightweight, excellent TypeScript support
- Rich extension ecosystem
Download: code.visualstudio.com
Essential Extensions:
- ES7+ React/Redux/React-Native snippets
- TypeScript Hero
- Prettier - Code formatter
- ESLint
- Auto Rename Tag
- Bracket Pair Colorizer
- GitLens
๐ง Git Configurationโ
Installationโ
Git is typically pre-installed on macOS and Linux. For Windows, download from git-scm.com.
Configurationโ
# Set your identity
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
# Set default branch name
git config --global init.defaultBranch main
# Improve command line experience
git config --global color.ui auto
git config --global core.autocrlf input # macOS/Linux
git config --global core.autocrlf true # Windows
SSH Keys (Recommended)โ
# Generate SSH key
ssh-keygen -t ed25519 -C "your.email@example.com"
# Start SSH agent
eval "$(ssh-agent -s)"
# Add key to agent
ssh-add ~/.ssh/id_ed25519
# Copy public key to clipboard
# macOS
pbcopy < ~/.ssh/id_ed25519.pub
# Linux
xclip -selection clipboard < ~/.ssh/id_ed25519.pub
# Windows
clip < ~/.ssh/id_ed25519.pub
Add the public key to your Git provider (GitHub, GitLab, etc.).
๐งช Verification Checklistโ
Run these commands to verify your setup:
# Java
echo "Java version:"
java -version
# Node.js
echo "Node.js version:"
node --version
# npm
echo "npm version:"
npm --version
# Docker
echo "Docker version:"
docker --version
# Docker Compose
echo "Docker Compose version:"
docker compose version
# Nx
echo "Nx version:"
nx --version
# Git
echo "Git version:"
git --version
# Kotlin (optional)
echo "Kotlin version:"
kotlin -version 2>/dev/null || echo "Kotlin not installed (optional)"
๐ฏ IDE Setup Verificationโ
IntelliJ IDEAโ
- Create a new Kotlin project
- Verify syntax highlighting works
- Check that Spring Boot plugin is available (Ultimate edition)
VS Codeโ
- Create a new TypeScript file
- Verify syntax highlighting and IntelliSense work
- Install recommended extensions from the list above
๐ Next Stepsโ
Once all prerequisites are installed and verified:
- Restart your terminal to ensure all environment variables are loaded
- Test your setup with the verification checklist above
- Proceed to Local Setup to clone the repository and start development
๐ง Troubleshootingโ
Common Issuesโ
Java Issuesโ
- JAVA_HOME not set: Add
export JAVA_HOME=$(/usr/libexec/java_home)
to your shell profile - Wrong Java version: Use SDKMAN to switch versions:
sdk use java 17.0.9-tem
Node.js Issuesโ
- Permission errors: Use nvm instead of system Node.js installation
- Old npm version: Run
npm install -g npm@latest
Docker Issuesโ
- Permission denied: Add user to docker group:
sudo usermod -aG docker $USER
- Docker Desktop not starting: Check system resources and restart Docker Desktop
Git Issuesโ
- SSH connection problems: Test with
ssh -T git@github.com
- Credential issues: Consider using SSH instead of HTTPS
Getting Helpโ
If you encounter issues:
- Check the Troubleshooting guide
- Search existing documentation
- Reach out to the EAF team in our development channels
Ready? Continue to Local Setup to get your development environment running! ๐