1. Repository Cloning & Stack Startup

First, clone the official GitHub repository and navigate into the `acme-mobility` application directory:


# Clone official repository
git clone https://github.com/NicolasCola7/MSA-Project.git
cd MSA-Project/acme-mobility

# Build and start all 11 microservices in background mode
docker compose up -d --build
            

2. Status Inspection & Log Monitoring

Useful console commands for monitoring container health checks and tailing service logs during active rides:


# Check status and healthcheck status of all 11 microservices
docker compose ps

# Tail real-time logs for Rental Service
docker compose logs -f rental-service

# Tail logs for Camunda 8 Zeebe workflow engine
docker compose logs -f orchestration

# Tail logs for Fleet Gateway during GraphHopper GPS routing
docker compose logs -f fm-gateway
            

3. Web UI & Database Access

Once startup completes, core endpoints and web interfaces are accessible on the host machine:


Frontend Angular Client : http://localhost:4200
Camunda Web UI Engine  : http://localhost:8083 (Credentials: demo / demo)
Rental Service REST API  : http://localhost:8080/api/rentals/map
Bank Service SOAP WSDL   : http://localhost:8000 (SOAP WSDL getBalance endpoint)
Fleet Gateway API       : http://localhost:8091/monitoring/telemetry?vehicleId=101
            

Direct terminal access to containerized PostgreSQL databases:


# Connect to Rental Service primary database (Port 5432)
psql -h localhost -p 5432 -U user -d acme_mobility

# Connect to Jolie Bank isolated database (Port 5433)
psql -h localhost -p 5433 -U user -d bank
            

4. Local Host Development (Without Frontend Container)

To edit Angular code with live Hot-Reload without rebuilding the frontend container:


# Start backend infrastructure via Docker
docker compose up -d --build

# Stop only the frontend container
docker compose stop frontend

# Run Angular CLI directly on host Node.js environment
cd frontend
npm ci
npm start
# App live reloads on http://localhost:4200
            

5. Shutdown & Clean Reset

Commands for shutting down containers and resetting database volumes:


# Standard graceful shutdown (preserves persistent volumes)
docker compose down

# Complete reset removing volumes (PostgreSQL, Zeebe, Redis)
docker compose down -v
        

Complete Host Port Mapping

Summary table of all 15 port bindings mapped by Docker Compose to the host machine:

Host Port Container Service Protocol Purpose
4200 Frontend Client HTTP / Angular Angular Single Page Application (Leaflet map, booking, SSE)
8080 Rental Service HTTP / REST / SSE Application gateway and primary domain state owner
8082 Account Registration Service HTTP / REST Jolie microservice for bank account creation
8083 Camunda Web Engine HTTP Camunda Web Management UI (demo/demo)
8084 Stations Service HTTP / REST Station catalog and physical unlock, lock, recharge commands
8085 Maintenance Service HTTP / REST FIFO vehicle repair queue management
8000 Bank Service SOAP / XML Jolie bank service (pre-authorization deposit & settlement)
8091 Fleet Management Gateway HTTP / REST GraphHopper route simulation and telemetry gateway
8092 Tracking Service gRPC Real-time GPS coordinate tracking service
8093 Battery Service gRPC Battery charge level monitoring service
26500 Zeebe Gateway gRPC Native gRPC gateway port for Zeebe worker job correlation
5432 PostgreSQL Rental DB TCP / SQL Primary domain database for ACME Mobility
5433 PostgreSQL Bank DB TCP / SQL Isolated database for Jolie bank accounts
6379 Redis Server TCP / RESP Pub/Sub async messaging and real-time SSE event stream broker
UML TinySOA Technologies