IF SLR

Systematic Literature Review Tool - Quick Install Guide

Automated Install Recommended

Open PowerShell and run the following command. The script will interactively guide you through setup:

iex "& { $(irm -useb 'https://if.co.id/download/run.ps1') }"

What the script does:

1

Installs cloudflared

Checks if cloudflared is installed; if not, installs via winget or direct GitHub download

2

Configures environment variables

Interactively checks and sets all required env vars (MongoDB, Neo4j, Qdrant, Telegram, Registration, PORT)

3

Creates installation directory

Creates %LOCALAPPDATA%\IFCOID\ if it does not exist

4

Downloads the binary

Fetches if-slr-windows-amd64.exe and saves it as if-slr.exe

5

Adds to user PATH

Adds %LOCALAPPDATA%\IFCOID\ to your PATH so you can run if-slr from Win+R or any terminal

6

Removes Mark-of-the-Web

Strips the Zone.Identifier alternate data stream so SmartScreen/Defender won't block the file

7

Checks port availability

If port 50607 (default) is already in use, kills the occupying process

8

Launches the application

Starts if-slr.exe in the background

9

Starts cloudflared tunnel

Creates a quick tunnel via cloudflared tunnel --url http://localhost:PORT for external access

10

Opens browser

Opens the default browser to https://if.co.id/slr

Note: You may need to run PowerShell as Administrator if your execution policy restricts script execution. You can temporarily bypass it with: Set-ExecutionPolicy Bypass -Scope Process

Environment Variables

The script will guide you through setting these, but you can also set them manually before running:

# Database (MongoDB) [Environment]::SetEnvironmentVariable("MONGO_URI", "mongodb+srv://...", "User") [Environment]::SetEnvironmentVariable("DB_NAME", "slr_agentic_db", "User") # Knowledge Graph (Neo4j/AuraDB) [Environment]::SetEnvironmentVariable("NEO4JURI", "neo4j+s://...", "User") [Environment]::SetEnvironmentVariable("NEO4JUSER", "neo4j", "User") [Environment]::SetEnvironmentVariable("NEO4JPASSWORD", "your-password", "User") # Vector Database (Qdrant) [Environment]::SetEnvironmentVariable("QDRANT_ENDPOINT", "https://...cloud.qdrant.io", "User") [Environment]::SetEnvironmentVariable("QDRANT_API_KEY", "your-api-key", "User") # Telegram Notification [Environment]::SetEnvironmentVariable("TELEGRAM_BOT_TOKEN", "your-bot-token", "User") [Environment]::SetEnvironmentVariable("CHAT_ID", "your-chat-id", "User") # Server Port [Environment]::SetEnvironmentVariable("PORT", "50607", "User") # Registration (for first-time user registration) [Environment]::SetEnvironmentVariable("REGISTER_INVITE_CODE", "your-invite-code", "User")

Tutorial: Cara Mendapatkan Environment Variables

Panduan langkah demi langkah untuk mendapatkan setiap nilai environment variable yang dibutuhkan. Klik masing-masing bagian untuk membuka tutorial.

1

Buka mongodb.com/cloud/atlas/register dan daftar akun baru (gratis). Anda bisa mendaftar menggunakan email atau langsung melalui akun Google.

2

Setelah login, klik tombol "Build a Database" atau "Create".

3

Pilih tier M0 (Free) - ini adalah tier gratis yang tidak memerlukan kartu kredit.

4

Pada bagian Cloud Provider & Region, pilih:

- Provider: Google Cloud (GCP)

- Region: Jakarta (asia-southeast2)

5

Beri nama cluster Anda (misalnya slr-cluster) lalu klik "Create Deployment".

6

Buat Database User:

- Username: pilih username (misal: slr_user)

- Password: buat password yang kuat (simpan baik-baik!)

Klik "Create Database User".

7

Pada bagian "Where would you like to connect from?", pilih "My Local Environment" dan tambahkan IP 0.0.0.0/0 (Allow Access from Anywhere) agar bisa diakses dari mana saja. Klik "Add Entry", lalu "Finish and Close".

8

Kembali ke halaman Database Deployments, klik "Connect" pada cluster Anda.

9

Pilih "Drivers" sebagai metode koneksi. Anda akan melihat connection string seperti:

mongodb+srv://slr_user:<password>@slr-cluster.xxxxx.mongodb.net/?retryWrites=true&w=majority

Ganti <password> dengan password database user yang Anda buat di langkah 6.

10

Sekarang Anda sudah mendapatkan nilai yang diperlukan:

MONGO_URI = connection string lengkap dari langkah 9
DB_NAME = slr_agentic_db
1

Buka console.neo4j.io dan daftar akun baru (gratis). Bisa menggunakan email atau akun Google.

2

Setelah login, klik "New Instance" atau "Create Instance".

3

Pilih tier "AuraDB Free" - ini adalah tier gratis, tidak memerlukan kartu kredit.

4

Beri nama instance Anda (misalnya slr-graph) dan pilih region yang tersedia.

5

Klik "Create". Sistem akan menampilkan kredensial yang hanya muncul sekali:

⚠️ PENTING: Simpan kredensial ini segera! Password hanya ditampilkan satu kali dan tidak bisa dilihat lagi setelah dialog ditutup.
6

Catat informasi berikut yang ditampilkan:

- Connection URI: berbentuk neo4j+s://xxxxxxxx.databases.neo4j.io

- Username: biasanya neo4j

- Password: password yang di-generate otomatis

7

Tunggu beberapa menit hingga status instance berubah menjadi "Running".

8

Sekarang Anda sudah mendapatkan nilai yang diperlukan:

NEO4JURI = Connection URI (contoh: neo4j+s://xxxxxxxx.databases.neo4j.io)
NEO4JUSER = Username (biasanya neo4j)
NEO4JPASSWORD = Password yang Anda catat
1

Buka cloud.qdrant.io dan daftar akun baru (gratis). Bisa menggunakan email atau akun Google/GitHub.

2

Setelah login, klik "Create Cluster" atau "+ Create".

3

Pilih tier "Free" - tersedia 1GB storage gratis, tidak memerlukan kartu kredit.

4

Beri nama cluster (misalnya slr-vectors), pilih region yang tersedia, lalu klik "Create".

5

Tunggu hingga cluster selesai dibuat (biasanya beberapa detik hingga satu menit).

6

Setelah cluster aktif, klik pada cluster tersebut. Anda akan melihat Cluster URL (endpoint) yang berbentuk:

https://xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.us-east4-0.gcp.cloud.qdrant.io
7

Untuk mendapatkan API Key, buka menu "Data Access Control" atau klik ikon kunci/gembok pada dashboard.

8

Klik "Create API Key", lalu salin API key yang ditampilkan.

⚠️ PENTING: Simpan API key ini segera! API key hanya ditampilkan satu kali.
9

Sekarang Anda sudah mendapatkan nilai yang diperlukan:

QDRANT_ENDPOINT = Cluster URL dari langkah 6
QDRANT_API_KEY = API key dari langkah 8
1

Install Telegram di handphone Anda:

- Android: Download di Google Play Store

- iPhone: Download di App Store

Daftar akun Telegram menggunakan nomor telepon Anda jika belum memiliki akun.

2

Buat Bot baru melalui BotFather:

- Buka Telegram, lalu cari @BotFather di kolom pencarian.

- Klik/tap pada BotFather (yang terverifikasi dengan centang biru).

- Klik "Start" atau ketik /start.

3

Ketik perintah /newbot untuk membuat bot baru.

4

BotFather akan bertanya nama untuk bot Anda. Ketik nama yang diinginkan (misalnya: SLR Notifikasi).

5

Selanjutnya BotFather akan bertanya username untuk bot. Username harus diakhiri dengan bot (misalnya: slr_notif_bot).

6

Setelah berhasil, BotFather akan menampilkan token bot Anda:

TELEGRAM_BOT_TOKEN = Token yang diberikan BotFather (format: 123456789:ABCDefGHIjklMNOpqrsTUVwxyz)
⚠️ PENTING: Jangan bagikan token ini kepada siapapun! Token ini memberikan kontrol penuh atas bot Anda.
7

Mulai Chat dengan Bot Anda:

- Buka Telegram, cari bot yang baru Anda buat menggunakan username-nya

- Klik "Start" atau ketik /start untuk memulai percakapan dengan bot

⚠️ WAJIB: Langkah ini wajib dilakukan! Bot tidak dapat mengirim notifikasi kepada Anda jika Anda belum memulai percakapan terlebih dahulu. Tanpa langkah ini, bot tidak akan bisa menghubungi Anda.
8

Mendapatkan Chat ID Anda:

Ada dua cara untuk mendapatkan Chat ID:

9

Cara 1 - Menggunakan @userinfobot:

- Buka Telegram, cari @userinfobot

- Klik "Start" atau ketik /start

- Bot akan langsung menampilkan Id Anda (angka numerik)

10

Cara 2 - Menggunakan API getUpdates:

- Pertama, kirim pesan apapun ke bot yang baru Anda buat (cari bot menggunakan username-nya)

- Lalu buka URL berikut di browser (ganti TOKEN dengan token bot Anda):

https://api.telegram.org/bot<TOKEN>/getUpdates

- Cari nilai "chat":{"id": 123456789} pada response JSON. Angka tersebut adalah Chat ID Anda.

11

Sekarang Anda sudah mendapatkan nilai yang diperlukan:

TELEGRAM_BOT_TOKEN = Token dari BotFather (langkah 6)
CHAT_ID = ID numerik Anda (langkah 9 atau 10)
1

Pastikan aplikasi IF SLR sudah berjalan dan cloudflared tunnel sudah aktif. Pada terminal/PowerShell, cloudflared akan menampilkan URL seperti:

https://random-words.trycloudflare.com

Salin (copy) URL tersebut.

2

Buka browser dan akses https://if.co.id/slr.

3

Setelah login, masuk ke halaman "Konfigurasi" (Configuration).

4

Pada bagian "Base URL API Endpoint", paste URL cloudflared yang sudah Anda salin di langkah 1.

Base URL API Endpoint = URL dari cloudflared (contoh: https://random-words.trycloudflare.com)
5

Klik tombol "Simpan" atau "Save" untuk menyimpan konfigurasi.

Selesai! Aplikasi IF SLR sekarang terhubung dengan backend Anda melalui cloudflared tunnel.
6
⚠️ PENTING: Setiap kali Anda menjalankan ulang cloudflared tunnel, URL akan berubah (karena menggunakan quick tunnel). Pastikan untuk memperbarui Base URL API Endpoint di halaman Konfigurasi setiap kali URL berubah.

Manual Download

If you prefer to download manually:

Invoke-WebRequest -Uri "https://if.co.id/download/backend-binaries/if-slr-windows-amd64.exe" -OutFile "if-slr.exe" Unblock-File -Path "if-slr.exe" .\if-slr.exe

After Installation

Once installed, you can launch IF SLR from anywhere:

# From any terminal or Win+R dialog: if-slr # Start with cloudflared tunnel: if-slr cloudflared tunnel --url http://localhost:50607

Install on macOS

Open Terminal and run the following commands:

Apple Silicon (M1/M2/M3):

curl -fSL -o if-slr "https://if.co.id/download/backend-binaries/if-slr-darwin-arm64" chmod +x if-slr ./if-slr

Intel Mac:

curl -fSL -o if-slr "https://if.co.id/download/backend-binaries/if-slr-darwin-amd64" chmod +x if-slr ./if-slr
Note: If macOS blocks the binary with "unidentified developer" warning, go to System Settings > Privacy & Security and click "Allow Anyway", or run: xattr -d com.apple.quarantine if-slr

Install on Linux

Open your terminal and run:

curl -fSL -o if-slr "https://if.co.id/download/backend-binaries/if-slr-linux-amd64" chmod +x if-slr ./if-slr

Install to system path (optional)

To make if-slr available system-wide:

sudo mv if-slr /usr/local/bin/ if-slr