WokiEngine Form Builder

Self-Hosted Dynamic Form Builder with Webhook Engine & Analytics Suite

CodeIgniter 4.7 Framework PHP 8.1 - PHP 8.4 Supported SHA256 & Slug Security Dual Language (EN / ID)

1. Overview

WokiEngine Dynamic Form Builder & Analytics Suite is a modern, self-hosted web application engineered for building interactive multi-step forms, collecting public form submissions, analyzing submission trends, and integrating data seamlessly via Webhooks.

2. System Requirements & Tech Stack

Ensure your hosting environment or Virtual Private Server (VPS) satisfies the following specifications:

Component Specification / Library Notes / Version
PHP Version PHP 8.1 / 8.2 / 8.3 / 8.4 Fully tested up to PHP 8.4
CSS Framework Bootstrap 5.3.3 + Custom CSS Modern UI components & Pure CSS utilities
PHP Extensions intl, mbstring, mysqli, json, curl, gd All enabled extensions + GD WebP support
Database Engine MySQL 5.7+ / MariaDB 10.3+ MariaDB 10.6+ / MySQL 8.0+
Web Server Apache (mod_rewrite enabled) / Nginx Nginx / Apache 2.4+

3. Installation Guide (cPanel / Shared Hosting)

  1. Upload Project ZIP: Upload the release package ZIP into your domain's root folder (e.g., public_html) via cPanel File Manager.
  2. Extract Archive: Extract the contents of the ZIP file.
  3. Create Database: Navigate to MySQL Databases in cPanel, create a new database name, user, and assign ALL PRIVILEGES.
  4. Run Installer: Launch your web browser and navigate to:
    https://yourdomain.com/setup
  5. Complete Wizard: Follow the on-screen prompts to input your database credentials and set up your Superadmin account.

4. Installation Guide (VPS - Nginx / Apache)

A. Permissions & Ownership

Set appropriate folder ownership and writable permissions for storage and upload paths:

sudo chown -R www-data:www-data /var/www/dynamicform
sudo chmod -R 775 /var/www/dynamicform/writable
sudo chmod -R 775 /var/www/dynamicform/public/uploads

B. Nginx Server Block Configuration

server {
    listen 80;
    server_name form.yourdomain.com;
    root /var/www/dynamicform/public;
    index index.php index.html;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass unix:/run/php/php8.3-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

5. Interactive Auto Web Installer

The system features an automated, zero-config web setup wizard. The wizard handles:

  • Automated database schema creation (forms, form_submissions, users, app_settings).
  • Automatic .env file compilation and encryption keys.
  • Superadmin account initialization with timezone support.

6. Form Builder Usage

  1. Log in to the Admin Dashboard (/login).
  2. Click Build New Form from the side navigation.
  3. General & Access Controls (Left Panel): Configure Form Title, Custom URL Slug, Webhook Destination, Response Limit, Expiration Date, Notification Emails, and IP Restriction options.
  4. Form Field Builder (Right Panel): Add input fields dynamically (Text, Email, Number, Textarea, Dropdowns, Radio Buttons, Checkboxes, Date, Time).
  5. Click Save & Publish Form to make the form public.

7. Webhook Engine Integration

Public submissions dispatch non-blocking HTTP POST JSON payloads instantly to third-party endpoints, webhooks, CRMs, or automation tools (Zapier, Make, n8n).

8. Masked URL & Security

Numeric database IDs are obfuscated across public forms, submission receipts, and exports using **Custom URL Slugs** and **SHA-256 Identifiers** to prevent URL enumeration vulnerabilities.

1. Gambaran Umum

WokiEngine Dynamic Form Builder & Analytics Suite adalah platform aplikasi pembuat formulir interaktif mandiri (*self-hosted*) yang dirancang fleksibel, aman, dan efisien. Sistem ini memungkinkan pengguna membangun formulir *step-by-step wizard*, mengumpulkan respon tanggapan publik, menganalisis tren aktivitas submission, serta mengintegrasikan data ke pihak ketiga melalui Webhook Engine.

2. Persyaratan Sistem & Stack Teknologi

Pastikan server hosting atau VPS Anda memenuhi spesifikasi minimal berikut:

Komponen Spesifikasi / Pustaka Catatan / Versi
Versi PHP PHP 8.1 / 8.2 / 8.3 / 8.4 Teruji penuh hingga PHP 8.4
Framework CSS Bootstrap 5.3.3 + Custom CSS Komponen UI modern & utilitas Pure CSS
Ekstensi PHP intl, mbstring, mysqli, json, curl, gd Semua ekstensi aktif + Dukungan GD WebP
Engine Database MySQL 5.7+ / MariaDB 10.3+ MariaDB 10.6+ / MySQL 8.0+
Web Server Apache (mod_rewrite aktif) / Nginx Nginx / Apache 2.4+

3. Panduan Instalasi (cPanel / Shared Hosting)

  1. Unggah Berkas ZIP: Unggah seluruh berkas zip aplikasi ke dalam direktori domain utama (misal: public_html) via cPanel File Manager.
  2. Ekstrak Berkas: Ekstrak berkas ZIP tersebut.
  3. Buat Database MySQL: Buka menu MySQL Databases di cPanel, buat nama database baru, buat pengguna MySQL baru beserta password, lalu hubungkan pengguna tersebut ke database dengan memberikan hak akses ALL PRIVILEGES.
  4. Akses Web Installer: Buka browser Anda dan akses alamat URL domain/subdomain Anda:
    https://domainanda.com/setup
  5. Jalankan Wizard: Ikuti petunjuk di layar untuk memasukkan kredensial database dan membuat akun Superadmin pertama.

4. Panduan Instalasi (VPS - Nginx / Apache)

A. Hak Akses Folder

Atur hak kepemilikan direktori dan izin folder writable serta public/uploads:

sudo chown -R www-data:www-data /var/www/dynamicform
sudo chmod -R 775 /var/www/dynamicform/writable
sudo chmod -R 775 /var/www/dynamicform/public/uploads

B. Konfigurasi Nginx Server Block

server {
    listen 80;
    server_name form.domainanda.com;
    root /var/www/dynamicform/public;
    index index.php index.html;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass unix:/run/php/php8.3-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

5. Interactive Auto Web Installer

Sistem ini dilengkapi dengan **Auto Web Installer** interaktif. Setelah konfigurasi database selesai pada langkah awal, installer akan secara otomatis:

  • Membangun seluruh skema tabel database (forms, form_submissions, users, app_settings).
  • Mengonversi berkas lingkungan .env secara otomatis.
  • Membuat akun Superadmin pertama beserta pengaturan zona waktu aplikasi.

6. Cara Penggunaan Form Builder

  1. Masuk ke Panel Admin (/login).
  2. Klik menu Build New Form di Sidebar.
  3. Pengaturan Umum & Akses (Kolom Kiri): Masukkan Judul Form, URL Slug Khusus, Webhook URL, Batas Kuota Respon, Waktu Kedaluwarsa, Notifikasi Email Admin, dan opsi Batasi 1x Respon per Alamat IP.
  4. Penyusun Bidang Form (Kolom Kanan): Klik tombol Tambah Bidang untuk menambahkan input dinamis seperti Teks, Email, Angka, Textarea, Select Dropdown, Radio Button, Checkbox, Date, dan Time.
  5. Klik Simpan & Terbitkan Form untuk mempublikasikan formulir.

7. Integrasi Webhook Engine

Setiap jawaban yang dikirimkan oleh pengguna publik dapat diteruskan secara instan (*real-time*) ke server Anda, sistem CRM, atau platform otomatisasi (Zapier/Make/n8n) melalui pengiriman HTTP POST JSON Payload non-blocking.

8. Masked URL & Keamanan

Sistem menyamarkan ID numerik internal database pada tautan publik, ekspor laporan, dan halaman tanggapan menggunakan **URL Slug** atau **SHA-256 Hash Identifier** untuk mencegah *enumeration attack* dan meningkatkan keamanan sistem secara menyeluruh.