HeyForm adalah platform open-source yang mempermudah Anda untuk membuat form dan survei online. Dengan HeyForm, Anda bisa mendesain berbagai jenis formulir, mulai dari contact form sederhana, kuesioner kompleks, hingga registrasi event, tanpa perlu keahlian coding yang mendalam. Platform ini menawarkan antarmuka drag-and-drop yang intuitif, memungkinkan Anda menyusun elemen-elemen formulir dengan cepat dan efisien. Keunggulan utamanya terletak pada fleksibilitas dan fitur-fitur canggih yang ditawarkannya, seperti logic jump, integrasi data, dan pelaporan real-time, yang sangat berguna untuk mengumpulkan dan menganalisis informasi secara efektif.
Fitur-fitur HeyForm
Salah satu daya tarik utama HeyForm adalah sifatnya yang open-source. Ini berarti kode sumbernya tersedia secara publik, memungkinkan komunitas developer untuk berkontribusi, memodifikasi, dan memperluas fungsionalitas platform. Sifat open-source juga memberikan kebebasan lebih bagi pengguna untuk meng-host HeyForm di server mereka sendiri, memberikan kontrol penuh atas data dan privasi, serta menghindari ketergantungan pada layanan pihak ketiga. Ini sangat ideal bagi organisasi atau individu yang memiliki persyaratan keamanan data yang ketat atau ingin menyesuaikan platform sesuai kebutuhan spesifik mereka. Dengan HeyForm, Anda tidak hanya mendapatkan alat pembuat formulir yang powerful, tetapi juga ekosistem yang terus berkembang dan dapat diandalkan.
HeyForm menyediakan berbagai fitur canggih yang mendukung pembuatan formulir yang dinamis dan interaktif. Salah satu fitur yang paling menonjol adalah Conditional Logic atau Logic Jump. Fitur ini memungkinkan Anda untuk menampilkan atau menyembunyikan pertanyaan tertentu berdasarkan jawaban responden sebelumnya. Misalnya, jika responden memilih “Ya” untuk pertanyaan A, maka pertanyaan B akan muncul. Jika memilih “Tidak”, pertanyaan C yang akan muncul. Ini menciptakan alur formulir yang lebih personal dan relevan, meningkatkan tingkat penyelesaian, dan mengurangi kebosanan responden.
Selain itu, HeyForm juga mendukung berbagai jenis field input, mulai dari short text, long text, pilihan ganda, dropdown, skala penilaian, hingga upload file. Ini memberikan fleksibilitas tinggi dalam mengumpulkan berbagai jenis data. Anda juga bisa mengkustomisasi tampilan formulir dengan tema, warna, dan logo brand Anda sendiri untuk menciptakan pengalaman yang konsisten. Fitur pelaporan dan analisis data secara real-time juga sangat membantu. Setelah formulir Anda online, HeyForm akan mengumpulkan respons secara otomatis dan menyajikannya dalam bentuk grafik dan tabel yang mudah dipahami, memungkinkan Anda untuk mendapatkan insight dengan cepat tanpa perlu melakukan ekspor data manual. Integrasi dengan webhook juga memungkinkan Anda menghubungkan HeyForm dengan aplikasi atau sistem lain untuk otomatisasi alur kerja. Misalnya, setiap kali ada respons baru, data bisa langsung dikirim ke CRM atau email marketing Anda.
Cara Install HeyForm
Menginstal HeyForm menggunakan Docker adalah cara yang paling direkomendasikan karena kemudahan dan portabilitasnya. Docker memungkinkan Anda untuk mengemas aplikasi dan semua dependensinya ke dalam sebuah “container” yang terisolasi, memastikan aplikasi berjalan konsisten di lingkungan manapun. Sebelum memulai, pastikan Anda telah menginstal Docker dan Docker Compose di sistem Anda. Anda bisa memeriksanya dengan menjalankan perintah docker –version dan docker-compose –version di terminal Anda. Jika belum terinstal, ikuti panduan instalasi Docker resmi untuk sistem operasi Anda.
Langkah pertama adalah membuat direktori baru di server Anda untuk menyimpan file konfigurasi HeyForm. Anda bisa menamakannya heyform atau nama lain yang Anda inginkan. Masuk ke direktori tersebut: code Bashdownloadcontent_copyexpand_less
mkdir heyform
cd heyform
Selanjutnya, Anda perlu membuat file docker-compose.yml. File ini akan mendefinisikan layanan-layanan yang diperlukan HeyForm, yaitu aplikasi HeyForm itu sendiri, database, dan mungkin juga Redis. Gunakan editor teks favorit Anda untuk membuat dan mengedit file ini. Berikut adalah contoh konfigurasi docker-compose.yml dasar untuk HeyForm:
version: '3.8'
services:
heyform:
image: heyform/heyform:latest
container_name: heyform_app
restart: always
ports:
- "3000:3000"
environment:
# Database configuration
DATABASE_URL: postgresql://heyform_user:heyform_password@db:5432/heyform_db
# Optional: Redis configuration for caching/queue
# REDIS_URL: redis://redis:6379
# Application URL (important for correct links in emails, etc.)
APP_URL: http://localhost:3000 # Change this to your domain if deploying to production
# Secret key for application security (generate a strong random string)
APP_KEY: your_super_secret_app_key
# Other optional environment variables as needed
# For example, mail configuration if you want to send emails
# MAIL_DRIVER: smtp
# MAIL_HOST: smtp.mailtrap.io
# MAIL_PORT: 2525
# MAIL_USERNAME: your_mailtrap_username
# MAIL_PASSWORD: your_mailtrap_password
# MAIL_ENCRYPTION: tls
# MAIL_FROM_ADDRESS: no-reply@example.com
# MAIL_FROM_NAME: HeyForm
depends_on:
- db
# - redis # Uncomment if using Redis
volumes:
- heyform_data:/app/public/storage # Persist uploaded files and other data
db:
image: postgres:13
container_name: heyform_db
restart: always
environment:
POSTGRES_DB: heyform_db
POSTGRES_USER: heyform_user
POSTGRES_PASSWORD: heyform_password
volumes:
- heyform_postgres_data:/var/lib/postgresql/data
# redis: # Uncomment this block if you want to use Redis
# image: redis:6-alpine
# container_name: heyform_redis
# restart: always
# command: redis-server --appendonly yes
# volumes:
# - heyform_redis_data:/data
volumes:
heyform_data:
heyform_postgres_data:
# heyform_redis_data: # Uncomment if using Redis
Mari kita bedah konfigurasi ini:
- version: ‘3.8’: Menentukan versi Docker Compose file format.
- services: Blok utama yang mendefinisikan semua layanan (kontainer) yang akan dijalankan.
- heyform: Ini adalah layanan utama untuk aplikasi HeyForm itu sendiri.
- image: heyform/heyform:latest: Menarik image Docker HeyForm versi terbaru dari Docker Hub.
- container_name: heyform_app: Memberi nama kontainer agar mudah diidentifikasi.
- restart: always: Memastikan kontainer akan otomatis restart jika crash atau jika Docker daemon dimulai ulang.
- ports: – “3000:3000”: Memetakan port 3000 dari host ke port 3000 di dalam kontainer. Ini berarti Anda dapat mengakses HeyForm melalui http://localhost:3000 dari browser Anda (jika diinstal di lokal) atau http://your_server_ip:3000 (jika diinstal di server).
- environment: Variabel lingkungan yang diperlukan oleh aplikasi HeyForm.
- DATABASE_URL: Kredensial koneksi ke database PostgreSQL. Pastikan heyform_user, heyform_password, dan heyform_db cocok dengan yang Anda definisikan di layanan db. Host db merujuk pada nama layanan database di dalam jaringan Docker Compose.
- APP_URL: Sangat penting! Ganti http://localhost:3000 dengan URL domain atau IP server Anda yang sebenarnya jika Anda mendeploy ke produksi. Ini memastikan link yang dihasilkan oleh HeyForm (misalnya, di email notifikasi) akan benar.
- APP_KEY: Kunci rahasia untuk keamanan aplikasi. Anda harus menggantinya dengan string acak yang kuat. Anda bisa membuatnya dengan menjalankan openssl rand -base64 32 di terminal.
- Variabel lain seperti MAIL_DRIVER, MAIL_HOST, dll., adalah untuk konfigurasi pengiriman email. Sesuaikan dengan pengaturan SMTP Anda jika Anda ingin HeyForm dapat mengirim email (misalnya, untuk notifikasi atau reset password).
- depends_on: – db: Memastikan layanan db dimulai sebelum layanan heyform.
- volumes: – heyform_data:/app/public/storage: Melakukan mount volume bernama heyform_data ke direktori /app/public/storage di dalam kontainer HeyForm. Ini penting untuk menyimpan file yang diunggah dan data lain secara persisten, bahkan jika kontainer HeyForm dibuat ulang atau dihapus.
- db: Layanan untuk database PostgreSQL.
- image: postgres:13: Menggunakan image PostgreSQL versi 13.
- container_name: heyform_db: Nama kontainer database.
- restart: always: Memastikan kontainer database selalu berjalan.
- environment: Variabel lingkungan untuk konfigurasi PostgreSQL.
- POSTGRES_DB, POSTGRES_USER, POSTGRES_PASSWORD: Kredensial untuk database PostgreSQL. Pastikan ini cocok dengan DATABASE_URL di layanan heyform.
- volumes: – heyform_postgres_data:/var/lib/postgresql/data: Melakukan mount volume bernama heyform_postgres_data untuk menyimpan data database secara persisten.
- redis (opsional): Layanan untuk Redis, yang bisa digunakan HeyForm untuk caching dan job queue.
- Jika Anda ingin menggunakan Redis, hapus tanda komentar pada bagian redis dan juga baris – redis di bawah depends_on pada layanan heyform.
- image: redis:6-alpine: Menggunakan image Redis versi 6 yang ringan.
- command: redis-server –appendonly yes: Menjalankan Redis dengan persistensi data aktif.
- volumes: – heyform_redis_data:/data: Melakukan mount volume untuk menyimpan data Redis.
- heyform: Ini adalah layanan utama untuk aplikasi HeyForm itu sendiri.
- volumes: Blok untuk mendefinisikan volume persisten yang digunakan oleh layanan. Ini memastikan data tidak hilang saat kontainer dihapus.
Setelah Anda membuat dan menyimpan file docker-compose.yml, navigasikan ke direktori tempat Anda menyimpan file tersebut di terminal Anda. Kemudian, jalankan perintah berikut untuk memulai semua layanan yang didefinisikan dalam file:
docker-compose up -d
- up: Membangun, (re)membuat, memulai, dan melampirkan ke kontainer untuk semua layanan dalam konfigurasi.
- -d: Berjalan dalam mode “detached” (di latar belakang), sehingga Anda dapat menutup terminal tanpa menghentikan kontainer.
Proses ini akan menarik image Docker yang diperlukan (jika belum ada), membuat volume, dan memulai semua kontainer. Anda mungkin akan melihat output seperti ini saat kontainer sedang diunduh dan dimulai:
Creating network "heyform_default" with the default driver
Creating volume "heyform_heyform_data" with default driver
Creating volume "heyform_heyform_postgres_data" with default driver
Creating heyform_db ... done
Creating heyform_app ... done
Setelah kontainer berjalan, Anda bisa memeriksa statusnya dengan:
docker-compose ps
Anda akan melihat output yang menunjukkan status Up untuk heyform_app dan heyform_db (dan heyform_redis jika Anda mengaktifkannya).
NAME COMMAND SERVICE STATUS PORTS
heyform_app "docker-entrypoint.s…" heyform running 0.0.0.0:3000->3000/tcp
heyform_db "docker-entrypoint.s…" db running 5432/tcp
Sekarang, buka browser web Anda dan navigasikan ke http://localhost:3000 (jika Anda menginstal di lokal) atau http://your_server_ip:3000 (jika diinstal di server). Anda akan disambut dengan halaman instalasi HeyForm di mana Anda perlu membuat akun administrator pertama Anda. Ikuti langkah-langkah di layar untuk menyelesaikan setup. Masukkan informasi yang diperlukan seperti nama pengguna, alamat email, dan kata sandi untuk akun admin. Setelah Anda membuat akun, Anda akan diarahkan ke dashboard HeyForm dan siap untuk mulai membuat formulir pertama Anda.
Untuk menghentikan semua layanan HeyForm yang berjalan:
docker-compose down
Perintah ini akan menghentikan dan menghapus kontainer, jaringan, dan volume yang tidak bernama. Data persisten yang disimpan di volume bernama (heyform_data, heyform_postgres_data) akan tetap ada. Jika Anda ingin menghapus volume persisten juga (misalnya, untuk instalasi bersih), gunakan:
docker-compose down -v
Penting untuk selalu melakukan backup data database Anda secara teratur, terutama jika Anda menggunakan HeyForm untuk mengumpulkan data penting. Meskipun volume Docker memastikan persistensi data, risiko kegagalan hardware atau korupsi data selalu ada.
Dengan Docker Compose, proses instalasi dan pengelolaan HeyForm menjadi sangat sederhana dan mudah diskalakan. Anda bisa dengan cepat mendeploy HeyForm di lingkungan development atau production tanpa perlu khawatir tentang konflik dependensi atau konfigurasi sistem yang rumit.
- Repo Github: https://github.com/heyform/heyform
- Sumber: https://docs.heyform.net/introduction
