Skip to main content
Before setting up StreamLine Logistics, ensure your development environment meets the following requirements.

System Requirements

Hardware Requirements

  • CPU: 4+ cores recommended for running all microservices
  • RAM: Minimum 8GB, 16GB recommended
  • Disk Space: At least 5GB free space for Docker images and volumes

Operating System

StreamLine Logistics supports the following operating systems:
  • Linux (Ubuntu 20.04+, Debian 10+, CentOS 8+)
  • macOS 11.0 (Big Sur) or later
  • Windows 10/11 with WSL2

Required Software

Java Development Kit (JDK)

Java 17 is required as specified in the project configuration.
StreamLine Logistics requires Java 17 (LTS) to build and run.
sudo apt update
sudo apt install openjdk-17-jdk

# Verify installation
java -version

Apache Maven

Maven 3.8+ is required for building the project.
sudo apt update
sudo apt install maven

# Verify installation
mvn -version

Docker & Docker Compose

Docker Compose V2 is recommended. The project uses docker compose (not docker-compose).
Docker is essential for running the microservices and their dependencies. Minimum versions:
  • Docker Engine: 20.10+
  • Docker Compose: 2.0+
# 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 install docker-compose-plugin

# Verify installations
docker --version
docker compose version

Git

Git is required for version control and cloning the repository.
sudo apt install git

# Verify installation
git --version

Optional Tools

IDE Recommendations

These IDEs provide excellent support for Spring Boot development:
  • IntelliJ IDEA (Ultimate or Community Edition)
    • Spring Boot plugin
    • Lombok plugin
    • MapStruct plugin
  • Visual Studio Code
    • Spring Boot Extension Pack
    • Java Extension Pack
    • Lombok Annotations Support
  • Eclipse
    • Spring Tools Suite (STS)
    • Lombok plugin

Database Clients

For direct database access and inspection:
  • DBeaver (PostgreSQL, MySQL, MongoDB)
  • pgAdmin (PostgreSQL)
  • MySQL Workbench (MySQL)
  • MongoDB Compass (MongoDB)

API Testing Tools

  • Postman - REST API testing
  • Insomnia - REST API testing
  • curl - Command-line HTTP client

Port Availability

Ensure the following ports are available before starting the services.
StreamLine Logistics requires the following ports to be free:
ServicePortPurpose
Eureka Server8761Service discovery
Config Server8888Centralized configuration
Order Service8090Order management API
Tracking Service8091Shipment tracking API
Inventory Service9090Inventory management API
PostgreSQL (Order DB)5432Order database
MySQL (Inventory DB)3306Inventory database
MongoDB (Tracking DB)27017Tracking database
Check port availability:
# Check if ports are in use
sudo lsof -i :8761
sudo lsof -i :8090
sudo lsof -i :8091
sudo lsof -i :9090
sudo lsof -i :5432
sudo lsof -i :3306
sudo lsof -i :27017

Network Configuration

Docker Network Requirements

The project uses a custom Docker bridge network named microservices-network. Ensure Docker networking is properly configured:
# Verify Docker networks
docker network ls

# Check Docker daemon status
docker info

Firewall Considerations

If running on a server with a firewall, ensure the following ports are accessible:
# Example: UFW (Ubuntu)
sudo ufw allow 8761/tcp
sudo ufw allow 8090/tcp
sudo ufw allow 8091/tcp
sudo ufw allow 9090/tcp

Verification Checklist

Before proceeding with installation, verify all prerequisites:
  • Java 17 installed and in PATH
  • Maven 3.8+ installed
  • Docker Engine 20.10+ installed
  • Docker Compose 2.0+ available
  • Git installed
  • Required ports are available
  • At least 8GB RAM available
  • At least 5GB disk space free
  • Docker daemon is running
Verify all at once:
echo "Java Version:"
java -version
echo "\nMaven Version:"
mvn -version
echo "\nDocker Version:"
docker --version
echo "\nDocker Compose Version:"
docker compose version
echo "\nGit Version:"
git --version

Next Steps

Once all prerequisites are met, proceed to Installation.

Build docs developers (and LLMs) love