# 📊 LAPORAN APLIKASI TRADEINTEL
## SISTEM MONITORING RANTAI PASOK GLOBAL

---

**Nama Aplikasi:** TradeIntel Command Center  
**Jenis Aplikasi:** Web-based Supply Chain Risk Monitoring System  
**Framework:** Laravel 11 (PHP)  
**Database:** SQLite  
**Tema Desain:** Cyber Sci-Fi Command Center  
**Tanggal Pembuatan:** Juli 2026  

---

## 📋 RINGKASAN EKSEKUTIF

TradeIntel adalah aplikasi web untuk monitoring dan analisis risiko rantai pasok global secara real-time. Aplikasi ini mengintegrasikan data dari berbagai API eksternal untuk memberikan insight tentang kondisi cuaca, ekonomi, berita, dan mata uang yang mempengaruhi logistik internasional.

**Tujuan Utama:**
- Membantu supply chain manager dalam pengambilan keputusan
- Memberikan early warning terhadap potensi gangguan logistik
- Monitoring real-time kondisi pelabuhan dan cuaca global
- Analisis sentimen berita terhadap rantai pasok

**Target Pengguna:**
- Manajer rantai pasok (Supply Chain Managers)
- Analis logistik (Logistics Analysts)
- Tim business intelligence
- Pengambil keputusan perdagangan internasional

---

## ✨ FITUR-FITUR UTAMA

### 1. 🎯 Dashboard Command Center

Dashboard utama dengan tampilan futuristik seperti control room NASA atau pusat komando militer.

**Komponen Dashboard:**

#### A. 4 Kartu Metrik Utama (Horizontal)
Ditampilkan dalam grid 4 kolom dengan border futuristik dan corner accents:

1. **Total Risk Index (Merah)**
   - Menampilkan skor risiko rata-rata dari semua negara
   - Contoh: 46.7 (Argentina sebagai negara paling berisiko)
   - Indikator: Dot merah berkedip menunjukkan status critical

2. **Weather Index (Biru/Cyan)**
   - Temperatur real-time dari Jakarta (representasi Asia Tenggara)
   - Contoh: 30°C dengan kondisi "Clear sky"
   - Data dari Open-Meteo API (gratis, tanpa API key)

3. **Ports Tracked (Hijau)**
   - Jumlah pelabuhan yang dimonitor sistem
   - Total: 58 pelabuhan internasional
   - Status: "LOGISTICS ACTIVE" menunjukkan sistem operasional

4. **USD/IDR Rate (Kuning)**
   - Nilai tukar Dollar Amerika terhadap Rupiah
   - Contoh: 17,968 (update real-time)
   - Status: "EXCHANGE LIVE" menunjukkan data aktif

**Desain Visual:**
- Border bersiku khas sci-fi (clipped corners)
- Corner accents L-shape di 4 sudut setiap card
- Warna berbeda per kategori (red, cyan, green, yellow)
- Hover effect: card naik dengan glow effect
- Pulse animation pada status indicator dots

#### B. Risk Scoring Engine Panel
Panel di sisi kiri dengan 2 komponen:

**Gauge Chart (Semicircle)**
- Tampilan speedometer dengan angka besar di tengah
- Warna dinamis berubah sesuai level risiko:
  - Hijau (0-25): Low Risk
  - Cyan (26-50): Medium Risk
  - Kuning (51-75): High Risk
  - Merah (76-100): Critical Risk
- Contoh value: 46.7 dengan label "RISK INDEX"

**Wave Chart (Line Trend)**
- Grafik gelombang menampilkan trend 7 hari terakhir
- Area fill dengan gradient warna sesuai risk level
- Tooltip interaktif saat hover
- Menunjukkan fluktuasi risk score harian

#### C. Operational Metrics (Bar Chart)
Grafik batang menampilkan 4 metrik operasional:
- **Ports**: Jumlah pelabuhan dimonitor (58)
- **Watchlist**: Negara dalam pantauan khusus
- **Countries**: Total negara dalam database
- **Active Alerts**: Peringatan aktif (5-15)

Warna berbeda per bar: Cyan, Green, Yellow, Red

#### D. Supply Chain Status (Bar Chart)
Grafik batang menampilkan rata-rata risk per komponen:
- **Weather Risk**: Risiko cuaca (avg semua negara)
- **Inflation Risk**: Risiko inflasi
- **News Risk**: Risiko dari sentiment berita
- **Currency Risk**: Risiko nilai tukar

Masing-masing dalam skala 0-100

#### E. Information Monitoring Table
Tabel berita supply chain dengan kolom:

| TITLE | SOURCE | STATUS | HEALTH |
|-------|--------|--------|--------|
| Supply chain disruption... | Reuters | ACTIVE | ████ 85% |
| Trade tensions affect... | BBC | NORMAL | ███ 75% |
| Logistics crisis in... | CNN | ACTIVE | █████ 95% |

**Fitur:**
- Clickable title (buka berita di tab baru)
- Status badges (Active/Normal dengan warna berbeda)
- Health bar dengan gradient hijau-cyan
- Scrollable table dengan custom scrollbar
- Hover highlight per row

#### F. Risk Leaderboard
Tabel ranking top 10 negara dengan risiko tertinggi:

| RANK | COUNTRY | SCORE | LEVEL |
|------|---------|-------|-------|
| 🥇 01 | Argentina | 68.5 | HIGH |
| 🥈 02 | Venezuela | 65.2 | HIGH |
| 🥉 03 | Turkey | 58.7 | HIGH |

**Special Features:**
- Rank 1-3 dapat badge emas, perak, perunggu
- Score dengan font futuristik (Orbitron)
- Level badge berwarna (Low/Medium/High/Critical)
- Gold shadow untuk rank 1

---

### 2. 📰 News Intelligence

Halaman dedicated untuk monitoring berita supply chain dan ekonomi.

**Sumber Data:** GNews API (berita internasional terkini)

**Kategori Berita:**
- Logistics (Logistik & pengiriman)
- Trade (Perdagangan internasional)
- Economy (Ekonomi global)
- Business (Bisnis & industri)

**Fitur Sentiment Analysis:**
Sistem otomatis menganalisis sentimen setiap berita:
- 🟢 **Positive**: Berita optimis (growth, profit, increase, stable)
- 🔵 **Neutral**: Berita netral
- 🔴 **Negative**: Berita pesimis (war, crisis, inflation, delay)

**Tampilan:**
- Card layout dengan thumbnail image
- Badge kategori dan sentiment
- Tanggal publikasi
- Link ke artikel original
- Auto-update setiap 5 menit

**Contoh Berita:**
```
📰 Global supply chain shows recovery signs
    Source: Reuters • 25 Jul 2026
    [LOGISTICS] [POSITIVE]
```

---

### 3. 🚢 Port Location Dashboard

Halaman monitoring pelabuhan internasional di seluruh dunia.

**Data Pelabuhan:**
- Total: **58 pelabuhan utama**
- Informasi: Nama, negara, kode, koordinat (lat/lng)

**Fitur Search:**
- Pencarian berdasarkan nama pelabuhan
- Filter berdasarkan nama negara
- Real-time filtering (tanpa refresh)

**Contoh Data:**
```
⚓ Port of Singapore
   Singapore • Lat: 1.2644, Lng: 103.8200

⚓ Port of Rotterdam
   Netherlands • Lat: 51.9244, Lng: 4.4777
```

**Tampilan:**
- List view dengan scroll
- Icon anchor per pelabuhan
- Koordinat untuk integrasi peta (future)
- Hover highlight

---

### 4. 🔄 Country Comparison

Fitur perbandingan 2 negara secara side-by-side.

**Metrik yang Dibandingkan:**
1. **GDP** (Gross Domestic Product)
2. **Inflation Rate** (Tingkat inflasi tahunan)
3. **Total Risk Score** (Skor risiko keseluruhan)
4. **Weather Risk** (Komponen risiko cuaca)
5. **Currency Risk** (Komponen risiko nilai tukar)

**Cara Penggunaan:**
1. Pilih negara A dari dropdown (misal: Indonesia)
2. Pilih negara B dari dropdown (misal: Singapore)
3. Klik "Compare" atau auto-load
4. Hasil ditampilkan dalam 2 kolom berdampingan

**Contoh Output:**
```
COMPARISON: INDONESIA vs SINGAPORE

GDP:          $1.12T  |  $397B
Inflation:    3.5%    |  2.1%
Risk Score:   32.5    |  15.2
Weather Risk: 25      |  10
Currency Risk: 40     |  15

Winner: Singapore (Lower overall risk)
```

---

### 5. ⭐ Watchlist (Favorite Countries)

Fitur untuk menyimpan negara-negara prioritas yang perlu dimonitor intensif.

**Fungsi:**
- Add/Remove negara ke watchlist
- Quick access di dashboard
- Auto-highlight high-risk countries

**Display di Dashboard:**
```
WATCHLIST (5 countries)

🔴 United States - Score: 45 (High Risk)
🟡 Russia - Score: 58 (High Risk)
🔵 China - Score: 38 (Medium Risk)
🟢 Germany - Score: 22 (Low Risk)
🟢 Japan - Score: 18 (Low Risk)
```

---

## 🌐 INTEGRASI API EKSTERNAL

Aplikasi TradeIntel mengintegrasikan 5 API eksternal untuk data real-time:

### 1. Open-Meteo API ☁️ **[GRATIS, TANPA API KEY]**

**URL:** https://open-meteo.com/

**Data yang Diambil:**
- ✅ Temperatur (°C)
- ✅ Curah hujan (mm)
- ✅ Kecepatan angin (m/s)
- ✅ Kelembaban udara (%)
- ✅ Kode cuaca (untuk decode kondisi)

**Keunggulan:**
- 100% gratis tanpa registrasi
- Tidak ada rate limit untuk penggunaan normal
- Data akurat dari model ECMWF
- Coverage global (seluruh dunia)
- Update setiap 15 menit

**Cara Kerja Weather Code:**
```
Code 0: Clear sky → Risk: 0 (Aman)
Code 1-3: Cloudy → Risk: 5-10 (Aman)
Code 45-48: Fog → Risk: 30 (Medium)
Code 51-67: Rain → Risk: 25-40 (Medium-High)
Code 71-77: Snow → Risk: 60 (High)
Code 95-99: Storm → Risk: 90 (Critical)
```

**Penggunaan di Aplikasi:**
- Dashboard weather metric card
- Country detail pages
- Risk calculation (30% dari total risk)
- Weather monitoring alerts

---

### 2. GNews API 📰

**URL:** https://gnews.io/

**Data yang Diambil:**
- Judul berita
- Deskripsi
- Link artikel
- Gambar thumbnail
- Tanggal publikasi
- Nama sumber berita

**Search Query:**
- "supply chain logistics trade"
- "global economy inflation"

**Filter:**
- Language: English
- Country: Any (global)
- Sort: Latest first
- Max results: 10 per query

**Penggunaan:**
- News Intelligence page
- Dashboard information table
- Sentiment analysis input
- News risk calculation (40% dari total risk)

---

### 3. World Bank API 💰

**URL:** https://api.worldbank.org/

**Indicators:**
- `NY.GDP.MKTP.CD`: GDP in current US$
- `FP.CPI.TOTL.ZG`: Inflation rate (%)

**Penggunaan:**
- Country economic data
- Inflation risk calculation (20% dari total risk)
- GDP comparison
- Economic trend analysis

---

### 4. REST Countries API 🌍

**URL:** https://restcountries.com/

**Data:**
- Nama negara lengkap
- Kode negara (ISO 3166)
- Ibukota
- Populasi
- Mata uang
- Bendera (SVG)

**Penggunaan:**
- Country selector dropdown
- Country detail pages
- Population data
- Currency information

---

### 5. Exchange Rates API 💱

**URL:** https://api.exchangerate-api.com/

**Data:**
- Base: USD (Dollar Amerika)
- Target: Semua mata uang dunia
  - IDR (Rupiah)
  - EUR (Euro)
  - CNY (Yuan)
  - JPY (Yen)
  - GBP (Pound)
  - dll (150+ currencies)

**Penggunaan:**
- Dashboard currency metric card
- Currency risk calculation (10% dari total risk)
- Exchange rate charts
- Multi-currency comparison

---

## 🧠 SENTIMENT ANALYSIS SYSTEM

### Metode: Lexicon-Based Analysis

Sistem menggunakan kamus kata (dictionary) untuk mendeteksi sentimen berita secara otomatis.

**Dictionary Positive Words:**
```
growth, increase, profit, stable, improve, 
recovery, boost, gain, success, rise, strong
```

**Dictionary Negative Words:**
```
war, crisis, inflation, delay, disaster, 
decline, fall, concern, risk, disruption, 
shortage, problem, challenge
```

**Algoritma:**
1. Ambil judul + deskripsi berita
2. Lowercase semua text
3. Hitung kemunculan positive words
4. Hitung kemunculan negative words
5. Bandingkan:
   - Jika positive > negative → **POSITIVE**
   - Jika negative > positive → **NEGATIVE**
   - Jika sama atau tidak ada → **NEUTRAL**

**Contoh:**
```
Berita: "Inflation increases while exports decrease due to war"

Positive words found: increase (1)
Negative words found: inflation, decrease, war (3)

Result: NEGATIVE ❌
```

**Output Statistik:**
```
Total 100 berita dianalisis:
- Positive: 60% (60 berita) 🟢
- Neutral: 25% (25 berita) 🔵
- Negative: 15% (15 berita) 🔴
```

**Penggunaan:**
- Badge di setiap artikel
- News risk calculation
- Sentiment trend chart
- Alert notifications

---

## 📊 RISK SCORING ALGORITHM

### Weighted Risk Model

Sistem menghitung total risk score menggunakan model bobot:

**Formula:**
```
Total Risk = (Weather × 30%) + (Inflation × 20%) + (News × 40%) + (Currency × 10%)
```

**Komponen Detail:**

#### 1. Weather Risk (30%)
Berdasarkan weather code dari Open-Meteo:
- Clear sky: 0-10 points
- Cloudy: 10-20 points
- Rain: 20-40 points
- Snow: 40-60 points
- Storm: 60-100 points

#### 2. Inflation Risk (20%)
Berdasarkan data World Bank:
- 0-2%: Low (0-25 points)
- 2-5%: Medium (25-50 points)
- 5-10%: High (50-75 points)
- >10%: Critical (75-100 points)

#### 3. News Sentiment Risk (40%)
Berdasarkan analisis sentiment:
- Majority positive: 0-30 points
- Mixed: 30-60 points
- Majority negative: 60-100 points

#### 4. Currency Risk (10%)
Berdasarkan volatilitas nilai tukar:
- Stable (<2% change): 0-25 points
- Moderate (2-5%): 25-50 points
- High (5-10%): 50-75 points
- Critical (>10%): 75-100 points

**Contoh Perhitungan:**

**Indonesia:**
```
Weather Risk: 25 points
Inflation Risk: 35 points (3.5%)
News Risk: 30 points (mostly neutral)
Currency Risk: 40 points (moderate volatility)

Total = (25 × 0.3) + (35 × 0.2) + (30 × 0.4) + (40 × 0.1)
Total = 7.5 + 7 + 12 + 4
Total = 30.5 points

Risk Label: MEDIUM RISK (26-50)
```

**Risk Labels:**
- 0-25: 🟢 **LOW RISK**
- 26-50: 🔵 **MEDIUM RISK**
- 51-75: 🟡 **HIGH RISK**
- 76-100: 🔴 **CRITICAL RISK**

---

## 🎨 DESAIN & USER INTERFACE

### Theme: Cyber Sci-Fi Command Center

Terinspirasi dari:
- NASA Mission Control Center
- Military Command Room
- Cyberpunk aesthetic
- Futuristic dashboard designs

**Color Palette:**
- Background: Dark blue/black gradient `#0a1929`
- Primary: Neon cyan `#00d2ff`
- Secondary: Neon green `#00ff88`
- Warning: Yellow `#ffc107`
- Danger: Red `#ff6b6b`

**Typography:**
- Headers: **Orbitron** (futuristic monospace)
- Body: **Rajdhani** (modern sans-serif)
- Metrics: **Orbitron** (untuk angka-angka)

**Visual Elements:**
- Border bersiku (clipped corners polygon)
- Corner accents L-shape
- Glow effects dengan box-shadow
- Pulse animations pada indicators
- Gradient fills
- Neon borders

**UI Components:**
- Metric cards dengan futuristic borders
- Gauge charts (semicircle speedometer)
- Wave charts (trend lines)
- Bar charts (colorful statistics)
- Tables dengan hover effects
- Badges dengan custom styling
- Progress bars dengan gradient

**Responsive Design:**
- Desktop: 4 kolom grid
- Tablet: 2 kolom grid
- Mobile: 1 kolom stack
- Touch-friendly buttons
- Swipeable tables

---

## 📈 DATABASE STRUCTURE

### 6 Tabel Utama:

#### 1. **countries**
Menyimpan data negara-negara:
- Kode negara (IDN, USA, SGP, dll)
- Nama negara
- Ibukota
- Populasi
- Region
- URL bendera

#### 2. **risk_scores**
Menyimpan skor risiko per negara:
- Weather risk (0-100)
- Inflation risk (0-100)
- Currency risk (0-100)
- News risk (0-100)
- Total score (weighted average)
- Risk label (Low/Medium/High/Critical)

#### 3. **ports**
Data pelabuhan internasional:
- Nama pelabuhan
- Negara
- Kode pelabuhan
- Koordinat (latitude, longitude)

#### 4. **articles**
Cache berita dari GNews API:
- Judul
- Deskripsi
- URL
- Gambar
- Sumber
- Tanggal publikasi
- Kategori
- Sentiment

#### 5. **watchlists**
Daftar negara favorit per user:
- User ID
- Country code
- Tanggal ditambahkan

#### 6. **news_cache**
Cache data API untuk performance:
- Cache key
- Data (JSON)
- Expiry time

**Total Data:**
- 195 negara
- 58 pelabuhan
- 100+ artikel berita
- 50+ risk scores

---

## 🚀 CARA PENGGUNAAN APLIKASI

### 1. Akses Dashboard
```
URL: http://127.0.0.1:8000/dashboard
```

**Yang Terlihat:**
- 4 metric cards di atas (horizontal)
- Gauge chart risk scoring
- 2 bar charts operasional
- Tabel berita
- Leaderboard risiko

**Interaksi:**
- Hover pada cards → Naik dengan glow
- Hover pada charts → Tooltip muncul
- Klik berita → Buka di tab baru
- Scroll tables → Custom scrollbar

### 2. Lihat Berita
```
Menu: News Intelligence
URL: /news
```

**Fitur:**
- List semua berita terkini
- Filter by category
- Sentiment badges
- Click to read full article

### 3. Monitoring Pelabuhan
```
Menu: Port Locations
URL: /ports
```

**Fitur:**
- Search box di atas
- Ketik nama port/negara
- Real-time filter
- List dengan koordinat

### 4. Bandingkan Negara
```
Menu: Country Comparison
URL: /comparison
```

**Langkah:**
1. Pilih negara A (dropdown)
2. Pilih negara B (dropdown)
3. Klik Compare
4. Lihat hasil side-by-side

### 5. Manage Watchlist
```
Menu: Watchlist
URL: /watchlist
```

**Fitur:**
- Add negara ke favorites
- Remove dari list
- Quick view di dashboard

---

## 📊 REST API DOCUMENTATION

Aplikasi menyediakan REST API untuk integrasi eksternal:

### Endpoints:

**1. GET /api/countries**
Ambil daftar semua negara
- Response: JSON array 195 negara
- Format: {code, name, capital, population}

**2. GET /api/risk**
Ambil semua risk scores
- Response: JSON array 50+ negara dengan scores
- Format: {country, weather_risk, inflation_risk, ...}

**3. GET /api/risk/{code}**
Ambil risk score 1 negara spesifik
- Parameter: country code (IDN, USA, dll)
- Response: Detail risk per komponen

**4. GET /api/ports**
Ambil daftar pelabuhan
- Response: JSON array 58 ports
- Format: {name, country, lat, lng}

**5. GET /api/ports/search?q=singapore**
Search pelabuhan
- Parameter: query string
- Response: Filtered ports

**6. GET /api/news**
Ambil berita terkini
- Response: JSON array articles
- Include: title, url, sentiment, category

**7. GET /api/weather?city=Jakarta**
Ambil data cuaca
- Parameter: city name
- Response: {temp, humidity, wind, condition}

**8. GET /api/currency?base=USD**
Ambil exchange rates
- Parameter: base currency
- Response: {IDR, EUR, CNY, ...}

**9. GET /api/comparison?a=IDN&b=SGP**
Bandingkan 2 negara
- Parameters: country codes
- Response: Side-by-side comparison data

**Format Response:**
```json
{
  "success": true,
  "data": [...],
  "count": 50,
  "message": "Data retrieved successfully"
}
```

---

## ✅ KELEBIHAN APLIKASI

### 1. Integrasi Multi-API
- 5 API eksternal terintegrasi
- Data real-time dari berbagai sumber
- Automatic data synchronization

### 2. Gratis & Open Source
- Open-Meteo API gratis selamanya
- Tidak perlu API key untuk weather
- REST Countries free API
- Exchange Rates free tier

### 3. User-Friendly Interface
- Dashboard intuitif
- Cyber sci-fi theme menarik
- Responsive design
- Touch-friendly mobile

### 4. Real-Time Monitoring
- Live weather updates
- Current exchange rates
- Latest news articles
- Dynamic risk calculation

### 5. Sentiment Analysis
- Automatic news sentiment
- Lexicon-based algorithm
- Simple yet effective
- No AI/ML dependencies

### 6. Comprehensive Risk Scoring
- Weighted algorithm
- Multiple factors
- Clear categorization
- Easy to understand

### 7. Performance Optimized
- API response caching
- Database indexing
- Lazy loading charts
- Minimal dependencies

### 8. Scalable Architecture
- Laravel framework
- RESTful API design
- Modular code structure
- Easy to extend

---

## 🎓 KESIMPULAN

TradeIntel Command Center adalah aplikasi monitoring rantai pasok yang komprehensif dengan fitur-fitur:

✅ **Dashboard futuristik** dengan 4 metric cards horizontal  
✅ **Risk scoring** menggunakan weighted algorithm  
✅ **Sentiment analysis** berita supply chain  
✅ **Weather monitoring** gratis dari Open-Meteo API  
✅ **Port tracking** 58 pelabuhan internasional  
✅ **Country comparison** side-by-side  
✅ **News intelligence** dengan kategori & sentiment  
✅ **REST API** untuk integrasi eksternal  
✅ **Responsive design** mobile-friendly  
✅ **Real-time data** dari multiple sources  

**Target Achievement:**
- ✅ 10 fitur utama dashboard
- ✅ Integrasi 5 API eksternal
- ✅ Sentiment analysis tanpa AI berbayar
- ✅ Risk scoring algorithm
- ✅ Database 6 tabel
- ✅ REST API 9+ endpoints
- ✅ Cyber sci-fi design theme

Aplikasi siap digunakan untuk monitoring dan analisis risiko rantai pasok global!

---

**© 2026 TradeIntel - Supply Chain Command Center**
