Fitur Mitra
Dokumentasi teknis dan alur bisnis fitur Mitra pada Mahirku Platform
Dokumentasi Fitur Mitra – Mahirku Platform
Dokumentasi ini menjelaskan implementasi teknis dan alur bisnis dari fitur Mitra di Mahirku Platform.
Fitur ini memungkinkan pengguna dengan role Mitra untuk membangun jaringan afiliasi dan memperoleh komisi bertingkat (override commission).
1. Overview
Fitur Mitra dirancang untuk menciptakan struktur pemasaran bertingkat yang sederhana dan terkontrol:
- Mitra
Pengguna level atas yang dapat merekrut member di bawahnya. - Affiliator
Member yang telah menyelesaikan tes (Thinking Style / DISC) dan berhak menyebarkan kode referral. - End User
Pengguna yang mendaftar melalui link Affiliator dan membeli token.
Key Benefits
- Mitra
Mendapatkan komisi pasif dari penjualan yang dilakukan oleh Affiliator di bawahnya. - Affiliator
Mendapatkan komisi langsung dari penjualan token ke End User. - Platform
Memperluas jangkauan pemasaran melalui jaringan Mitra.
2. Struktur Role & Hirarki
| Role | ID | Deskripsi |
|---|---|---|
| Super Admin | 1 | Administrator sistem, mengatur persentase komisi Mitra |
| Affiliator | 2 | Pengguna yang bisa membagikan referral link |
| User | 3 | Pengguna biasa / member baru yang belum tes |
| Mitra | 4 | Role khusus dengan dashboard monitoring member & komisi |
Hubungan Database (ERD Snippet)
- Users
- Memiliki kolom
parentId(self-referencing FK keusers.id) - Jika User A direkrut Mitra B →
UserA.parentId = MitraB.id
- Memiliki kolom
- Packages
- Memiliki kolom
mitraCommissionRate - Menentukan persentase komisi Mitra per paket
- Memiliki kolom
3. Alur Bisnis (Business Flows)
A. Akuisisi Member (Mitra → Member)
- Mitra login ke Mitra Dashboard
- Masuk ke menu Members
- Klik Add Member dan mengisi form
- Sistem membuat user baru dengan:
- Role:
User(ID: 3) parentId: ID Mitra
- Role:
B. Upgrade Member ke Affiliator
- Member login sebagai
User - Member membeli token (jika diperlukan)
- Member menyelesaikan tes Thinking Style atau DISC
- Sistem otomatis mengecek:
- User memiliki
parentId - Role masih
User
- User memiliki
- Jika valid → role di-upgrade menjadi
Affiliator(ID: 2) - User dapat mengakses fitur Affiliator & referral link
C. Alur Komisi (Commission Flow)
Saat End User membeli token melalui referral Affiliator (di bawah Mitra):
- End User membeli paket (contoh: Rp 100.000)
- Komisi Affiliator
- Rumus:
Harga Paket × Package.commissionRate - Contoh:
100.000 × 10% = Rp 10.000
- Rumus:
- Komisi Mitra (Override)
- Rumus:
Harga Paket × Package.mitraCommissionRate - Contoh:
100.000 × 5% = Rp 5.000
- Rumus:
- Data komisi dicatat di:
AffiliateCommissions- Saldo diperbarui di
AffiliateBalances
4. Implementasi Backend
Perubahan Database
- roles
- Menambahkan role
mitra
- Menambahkan role
- packages
- Menambahkan kolom
mitraCommissionRate(DECIMAL)
- Menambahkan kolom
- users
- Memanfaatkan
parentIduntuk hirarki Mitra
- Memanfaatkan
API Endpoints
Base URL: /api/mitra
| Method | Endpoint | Deskripsi | Access |
|---|---|---|---|
| GET | /dashboard | Statistik Mitra (member & komisi) | Mitra |
| GET | /members | Daftar member & status afiliasi | Mitra |
| POST | /members | Menambah member baru | Mitra |
File Penting
src/utils/affiliateUtils.ts
Perhitungan komisi Mitra & Affiliatorsrc/controllers/mitraController.ts
Logic dashboard dan manajemen membersrc/middlewares/roleMiddleware.ts
MiddlewareisMitra
5. Implementasi Frontend
Mitra Dashboard
- Layout
- Dashboard standar dengan sidebar khusus Mitra
- Overview
- Total member
- Total komisi
- Members
- Tabel member
- Status:
UservsAffiliator - Total kontribusi komisi
- Form Add Member
Admin Panel
- Package Management
- Admin dapat mengatur Mitra Commission Rate (%)
6. Cara Penggunaan (User Guide)
Setup Awal (Admin)
- Login sebagai Super Admin
- Masuk ke Paket Token
- Atur Mitra Commission Rate
- Buat user dan assign role Mitra
Penggunaan (Mitra)
- Login sebagai Mitra
- Pantau performa di Dashboard
- Tambahkan member melalui menu Members
- Arahkan member untuk menyelesaikan tes
7. Catatan Teknis
- Komisi Mitra dihitung dari harga paket, bukan komisi Affiliator
- Komisi hanya tercatat jika status pembayaran
paid - Upgrade role otomatis terjadi di controller tes