WHMCloud - Web Hosting Management Platform
Platform manajemen web hosting modern berbasis NestJS & TypeScript. Kelola layanan hosting, user, dan billing dalam satu dashboard terintegrasi.
Description
β¨ Tentang Produk
WHMCloud adalah platform manajemen web hosting berbasis NestJS dan TypeScript yang menyediakan fondasi backend solid untuk mengelola seluruh siklus layanan hosting β dari registrasi pelanggan, manajemen paket, autentikasi aman, hingga pengelolaan data berbasis MySQL atau PostgreSQL. Antarmuka yang clean, minimalis, dan profesional memudahkan admin dan pelanggan mengelola layanan tanpa kerumitan teknis berlebih.
Dirancang untuk hosting provider lokal, reseller hosting, startup SaaS infrastruktur, dan developer yang ingin membangun platform hosting management tanpa memulai dari nol. Arsitektur modular NestJS memastikan kode terstruktur rapi dan mudah dikustomisasi sesuai kebutuhan bisnis Anda.
Data demo bersifat simulasi dan dapat direset sewaktu-waktu. Jangan gunakan data pribadi asli.
π Fitur Unggulan
- Autentikasi JWT Aman β Login terverifikasi via JSON Web Token dengan Passport.js, memastikan setiap akses API terlindungi dari akses tidak sah.
- Manajemen User & Role β Multi-role dengan kontrol akses granular, memisahkan hak admin dan pelanggan secara jelas.
- Dual Database Support β Mendukung MySQL dan PostgreSQL, fleksibel disesuaikan dengan infrastruktur hosting Anda.
- ORM TypeORM Terstruktur β Pengelolaan database type-safe dengan migrasi skema otomatis dan relasi antar entitas yang mudah.
- Setup & Seed Otomatis β Script inisialisasi database dan pengisian data awal mempercepat proses deployment.
- Arsitektur Modular NestJS β Kode backend terorganisasi dalam modul independen, memudahkan penambahan fitur dan pemeliharaan jangka panjang.
- Enkripsi Password Bcrypt β Password dienkripsi sebelum disimpan, mengikuti standar keamanan industri untuk proteksi data sensitif.
- Validasi Data Request β Input dari client divalidasi menggunakan class-validator, mencegah data tidak valid masuk ke sistem.
- UUID Identifier β Identifier unik untuk entitas data, menghindari konflik ID dan meningkatkan keamanan dari serangan enumerasi.
- Environment Configuration β Konfigurasi aplikasi via dotenv, memudahkan pemisahan environment development, staging, dan production.
π Infografis Cepat
- Versi β 1.0.0 (Stable)
- Arsitektur β Monorepo (Backend NestJS + Frontend terpisah)
- Jumlah Role β Minimal 2 (Admin & Client/User)
- Database β MySQL & PostgreSQL
- ORM β TypeORM 0.3.x
- Bahasa β TypeScript 5.x
- Framework β NestJS 10.x
- Autentikasi β JWT + Passport.js
- Script Otomasi β Install Setup + Database Seed
- Mode Jalankan β Development (watch), Production (dist)
π Alur Penggunaan
- Ekstrak Source Code β Unduh dan ekstrak source code WHMCloud yang Anda beli ke server atau mesin lokal.
- Install Dependencies β Masuk ke direktori backend/ lalu jalankan npm install untuk mengunduh dependensi.
- Konfigurasi Environment β Salin .env.example menjadi .env, isi variabel koneksi database, secret JWT, dan port aplikasi.
- Inisialisasi Database β Jalankan npm run install:setup untuk membuat struktur tabel database otomatis via TypeORM.
- Seed Data Awal β Jalankan npm run seed untuk mengisi database dengan data default seperti akun admin dan paket hosting awal.
- Jalankan Aplikasi β Development: npm run start:dev (mode watch). Production: npm run build lalu npm run start:prod.
- Konfigurasi Frontend β Sambungkan frontend ke endpoint API backend, pastikan base URL API dikonfigurasi dengan benar.
- Operasional Harian β Admin mengelola user, paket, dan monitoring. Pelanggan mendaftar, melihat layanan aktif, dan mengelola akun melalui portal client.
πΊοΈ Menu Aplikasi
π‘ Halaman Admin
- Dashboard Admin β Ringkasan statistik platform: jumlah pelanggan aktif, layanan berjalan, notifikasi sistem.
- Manajemen User β Daftar pengguna terdaftar dengan kemampuan melihat detail, mengubah status, dan mengelola hak akses.
- Manajemen Paket Hosting β Kelola paket layanan: tambah paket baru, edit spesifikasi, atur harga, aktifkan/nonaktifkan paket.
- Kelola Layanan Aktif β Monitor seluruh layanan hosting aktif di semua pelanggan, termasuk status dan detail konfigurasi.
- Konfigurasi Sistem β Pengaturan global platform seperti koneksi server, parameter sistem, dan integrasi API eksternal.
- Manajemen Akun Admin β Pengaturan profil dan keamanan akun administrator, termasuk perubahan password.
π€ Halaman Client / User
- Dashboard Client β Tampilan ringkas layanan aktif, status akun, dan informasi terkini mengenai langganan.
- Layanan Saya β Daftar seluruh layanan hosting yang dimiliki beserta status aktif, detail konfigurasi, dan tanggal kedaluwarsa.
- Profil Akun β Pengelolaan informasi pribadi pelanggan: edit data diri dan perubahan password akun.
- Katalog Paket β Daftar paket hosting yang tersedia untuk dibeli atau di-upgrade oleh pelanggan.
π Halaman Publik
- Landing Page β Halaman utama menampilkan informasi produk, fitur unggulan, dan ajakan untuk mendaftar atau login.
- Login β Form autentikasi untuk masuk ke sistem, mendukung validasi JWT dan penanganan error informatif.
- Register β Formulir pendaftaran akun baru dengan validasi input lengkap dan enkripsi password otomatis.
π οΈ Tech Stack & Arsitektur
- NestJS 10.x β Framework Node.js berbasis TypeScript dengan arsitektur modular, menyediakan struktur kode konsisten dan dukungan dependency injection untuk REST API skala enterprise.
- TypeScript 5.x β Static typing yang kuat untuk meningkatkan keandalan kode, kemudahan refactoring, dan deteksi bug sejak fase development.
- TypeORM 0.3.x β ORM modern dengan integrasi sempurna ke NestJS dan TypeScript, menyediakan fitur migrasi dan repository pattern untuk pengelolaan database.
- MySQL / PostgreSQL β Dua pilihan database relasional populer di industri hosting, fleksibel disesuaikan dengan infrastruktur yang sudah ada.
- JWT + Passport.js β Kombinasi standar industri untuk autentikasi stateless, memungkinkan verifikasi token tanpa session server-side.
- bcryptjs β Library hashing password dengan algoritma bcrypt yang terbukti aman dan mendukung cost factor yang dapat dikonfigurasi.
- undici β HTTP client modern berbasis Node.js untuk melakukan request ke API eksternal seperti WHM/cPanel API dengan performa tinggi.
π― Cocok Untuk
- Hosting Provider Lokal β Bisnis penyedia layanan web hosting yang ingin memiliki panel manajemen sendiri tanpa ketergantungan pada software pihak ketiga yang mahal.
- Reseller Hosting β Reseller yang ingin memberikan pengalaman portal client branded dan profesional dengan sistem yang dapat dikustomisasi penuh.
- Startup SaaS Infrastruktur β Tim startup yang membangun produk di bidang cloud infrastructure atau managed hosting dan membutuhkan fondasi backend solid.
- Developer Full-Stack β Pengembang yang ingin mempelajari atau mengadaptasi arsitektur NestJS + TypeORM untuk proyek manajemen layanan berbasis subscription.
- Perusahaan IT Internal β Perusahaan yang ingin membangun sistem manajemen hosting internal untuk kebutuhan infrastruktur tim atau client mereka sendiri.
β FAQ
Q: Apakah WHMCloud dapat langsung terhubung ke WHM/cPanel server yang sudah ada?
A: WHMCloud dibangun dengan library undici sebagai HTTP client untuk komunikasi ke API eksternal, memungkinkan integrasi dengan WHM/cPanel API. Konfigurasi koneksi spesifik perlu disesuaikan di file environment sesuai setup server Anda.
Q: Database apa yang direkomendasikan: MySQL atau PostgreSQL?
A: Keduanya didukung penuh. Jika infrastruktur Anda sudah menggunakan MySQL (umum di shared hosting), pilih MySQL. Jika membutuhkan fitur database yang lebih advanced dan performa query kompleks, PostgreSQL adalah pilihan yang lebih baik. Konfigurasi cukup dilakukan di file .env.
Q: Apakah source code ini sudah production-ready?
A: WHMCloud versi 1.0.0 menyediakan fondasi backend yang solid dan siap digunakan. Namun diperlukan penyesuaian konfigurasi keamanan, setup HTTPS, dan kustomisasi sesuai kebutuhan bisnis spesifik Anda sebelum deploy ke production penuh.
Q: Seberapa mudah menambahkan fitur baru ke WHMCloud?
A: Sangat mudah, berkat arsitektur modular NestJS. Setiap fitur baru cukup dibuat sebagai modul baru yang independen (module, controller, service, entity), lalu didaftarkan ke AppModule. Pola ini mengikuti prinsip SOLID dan memudahkan pengembangan tim.
Q: Apakah WHMCloud mendukung multi-tenancy?
A: Arsitektur dasar WHMCloud dengan sistem role dan UUID identifier memberikan fondasi yang baik untuk pengembangan multi-tenancy. Implementasi penuh multi-tenancy dapat dikembangkan di atas codebase yang sudah ada sesuai kebutuhan skala bisnis Anda.
π Cara Deploy
- Ekstrak Source Code β Login ke VPS via SSH, ekstrak source code yang Anda beli ke direktori whmcloud/backend.
- Install Dependencies β Pastikan Node.js 18+ terinstall, lalu jalankan npm install.
- Konfigurasi Environment β Buat file .env dari template, isi DB_HOST, DB_USER, DB_PASS, DB_NAME, DB_TYPE (mysql/postgres), JWT_SECRET, dan PORT.
- Setup & Seed Database β Jalankan npm run install:setup dan npm run seed untuk inisialisasi database dan pengisian data awal.
- Build & Jalankan β Build dengan npm run build, lalu jalankan dengan PM2: pm2 start dist/main.js --name whmcloud-backend.
- Setup Nginx & SSL β Konfigurasi Nginx sebagai reverse proxy ke port aplikasi, tambahkan SSL certificate via Let's Encrypt dengan Certbot untuk keamanan HTTPS.
π¦ Yang Anda Dapatkan
- Source Code Backend Lengkap β Codebase NestJS + TypeScript yang terstruktur rapi dengan arsitektur modular siap dikembangkan.
- Dokumentasi Setup β Panduan instalasi dan konfigurasi environment untuk deployment di VPS atau Docker.
- Database Schema β Struktur database lengkap dengan entitas TypeORM dan script migrasi otomatis.
- Autentikasi JWT Ready β Sistem autentikasi aman dengan JWT dan Passport.js sudah terintegrasi penuh.
- Script Otomasi β Script setup dan seed untuk inisialisasi database dan pengisian data awal secara otomatis.
- Dual Database Support β Konfigurasi siap pakai untuk MySQL dan PostgreSQL, fleksibel disesuaikan dengan infrastruktur Anda.
π‘ Mengapa Memilih WHMCloud
Membangun platform manajemen hosting dari nol membutuhkan waktu berbulan-bulan dan investasi besar. Dengan WHMCloud, Anda mendapatkan fondasi backend yang telah dirancang secara profesional menggunakan teknologi terkini β NestJS, TypeScript, dan TypeORM β yang siap dikembangkan lebih lanjut. Antarmuka yang clean dan minimalis memastikan pengalaman pengguna yang intuitif, baik untuk admin maupun pelanggan.
Arsitektur yang bersih, sistem autentikasi yang aman, dan dukungan dual database menjadikan WHMCloud sebagai titik awal yang ideal untuk bisnis hosting Anda. Hemat waktu development, fokus pada diferensiasi bisnis, dan mulai melayani pelanggan lebih cepat. Investasi sekali, manfaat jangka panjang.
Update Log
πUpdate Terbaruv1.0.6
v1.0.6v1.0.6detail βΎ
v1.0.6
β¨ Fitur Baru
- Menambahkan script instalasi otomatis (install.sh) untuk deployment ke VPS
- Dukungan deployment one-command dengan konfigurasi lengkap (Nginx, PostgreSQL, SSL, PM2)
- Auto-setup database PostgreSQL dengan user dan privilege
- Integrasi Let's Encrypt untuk sertifikat SSL otomatis
- Konfigurasi Nginx reverse proxy untuk backend API
- Setup PM2 untuk manajemen proses backend
- Auto-seeding database dengan admin default
π Perbaikan Bug
_Tidak ada_
π§ Perubahan / Refactor
_Tidak ada_
π File Tersentuh
- install.sh (baru, 197 baris)
Ringkasan: Menambahkan script deployment otomatis untuk instalasi lengkap aplikasi WHMCloud ke VPS dengan satu perintah.
<!-- sha:7fc9462 -->
v1.0.6v1.0.6detail βΎ
v1.0.6
β¨ Fitur Baru
- Tambah data statistik order berdasarkan status: active, cancelled, dan fraud pada endpoint dashboard admin
- Tambah grafik pendapatan 14 hari terakhir (revenueByDay) yang menghitung total revenue dan jumlah order per hari
π Perbaikan Bug
- _Tidak ada_
π§ Perubahan / Refactor
- Update versi backend dan frontend dari 1.0.0 ke 1.1.0
π File Tersentuh
- backend/src/admin/admin.service.ts
- backend/package.json
- frontend/package.json
Ringkasan: Peningkatan dashboard admin dengan statistik order lebih lengkap dan data grafik pendapatan harian 14 hari terakhir.