Lotus Onboarding

Lotus adalah workspace untuk development AlurKerja On-Premise. Semua repository backend dan frontend akan di-clone di dalam folder ini.

🚀 Quick Start

1. Clone Lotus

git clone https://gitlab.javan.co.id/alurkerja/on-premises/toolkits/lotus.git
cd lotus

2. Setup (One Click)

Jalankan perintah berikut untuk:

  • Clone semua repository
  • Setup environment variables (terhubung ke server Merapi)
  • Install semua dependency
make init

3. Jalankan Tilt

tilt up

Tekan Space di terminal atau buka browser di http://localhost:10350.


đŸ—ī¸ Arsitektur Aplikasi

Lotus menggunakan arsitektur Hybrid Development dengan infrastruktur pendukung di server Merapi. Untuk detail diagram arsitektur dan relasi dependensi API antar service, silakan lihat dokumen lengkapnya di:

👉 ARCHITECTURE.md


Kami menggunakan Tilt untuk local development karena memberikan pengalaman yang lebih modern dan terintegrasi.

âš ī¸ Prasyarat: Pastikan Anda sudah menginstall Go, Node.js, Yarn, dan Docker. Lihat bagian Prasyarat Sistem di bawah jika belum.

Keuntungan Tilt

  • Live Update: Perubahan pada kode Go akan otomatis me-reload service terkait.
  • Frontend HMR: Frontend React (app-react) berjalan dengan Hot Module Replacement (HMR).
  • Unified Log: Dashboard interaktif untuk melihat log dari semua service di satu tempat.
  • Otomatisasi: Menjalankan build, install dependency, dan start service secara paralel.

💡 Tips Dashboard

  • Stop Service: Klik tombol âšī¸ (Stop) di baris service.
  • Manual Mode: Klik ikon mode di sebelah nama service untuk mengubah "Auto" menjadi "Manual" (agar tidak auto-start saat coding).

âš™ī¸ Konfigurasi Server Merapi

Secara default, make init akan mengkonfigurasi .env Anda ke server dev Merapi:

  • Database: Postgres
  • Keycloak: Keycloak
  • MinIO: Minio
  • Email: Mailhog Server

Ini memungkinkan Anda fokus pada coding tanpa pusing memikirkan infrastruktur lokal.


📁 Struktur Folder

lotus/                          ← Kamu di sini
├── README.md
├── SETUP-MACOS.md
├── SETUP-WINDOWS.md
├── SETUP-LINUX.md
├── Makefile                    ← Utility commands
├── scripts/                    ← Helper scripts
│   ├── clone-all.sh
│   └── setup-merapi.sh
│
├── authentication-service/     ← Port 3001
├── bpm-service/                ← Port 3002
├── tenant-management-service/  ← Port 3003
├── company-profile-service/    ← Port 3004
├── notification-service/       ← Port 3005
├── integration-service/        ← Port 3006
├── report-service/             ← Port 3007
├── simulation-service/         ← Port 3008
│
├── app-react/                  ← Frontend
├── studio-react/
├── company-profile-react/
└── simulation-react/

🔧 Utility Commands

make init               # Setup awal (Clone + Config + Install)
make setup-env          # Re-apply config Merapi ke .env
make install-deps       # Re-install Go dependencies
make install-frontend   # Re-install frontend dependencies
make update-submodules  # Update git submodules (form-builder)

# Selective Start (Tilt)
tilt up -- --only=app-react --only=bpm-service

# Manual Mode (Hemat RAM - Start service manually via UI)
tilt up -- --mode=manual

📋 Port Reference

ServicePortBase Path
Authentication3001/api/v1/authentication/
BPM3002/api/v1/probis/
Tenant3003/api/v1/tenant/
Company Profile3004/api/v1/compro/
Notification3005/api/v1/notif/
Integration3006/api/v1/integration/
Report3007/api/v1/report/
Simulation3008/api/

🔧 Prasyarat Sistem (System Requirements)

Wajib dilakukan agar Tilt dapat berjalan. Panduan di bawah berisi cara instalasi Go, Node.js, Yarn, dan Docker sesuai OS Anda.

Sistem OperasiPanduan Instalasi
🍎 macOSSETUP-MACOS.md
đŸĒŸ WindowsSETUP-WINDOWS.md
🐧 LinuxSETUP-LINUX.md

âš ī¸ Penting!

  1. VPN wajib terkonek untuk mengakses database dan Keycloak
  2. Jangan commit file .env - berisi credentials sensitif
  3. Folder repo aplikasi otomatis di-ignore oleh git lotus

Maintained by AlurKerja Team