Skip to content

fk0u/Faclie.com

Repository files navigation

Faclie — Next-Gen Freelance Client Simulator

Next.js Tailwind CSS v4 React Zustand Framer Motion Electron

Faclie (Freelance Client Simulator) adalah platform simulasi percakapan interaktif berbasis web dan desktop untuk melatih kemampuan negosiasi, manajemen scope creep, dan penanganan red flags klien. Dirancang menyerupai realita dunia freelance agensi, platform ini menyimulasikan emosi klien yang dinamis, kejadian krisis tak terduga (surprise events), serta memberikan rapor evaluasi performa di akhir sesi.


🌟 Fitur Unggulan

1. Hybrid Dialogue Engine & Intent Parsing

Simulator mendeteksi intensitas, penawaran harga, penolakan, atau persetujuan secara dinamis berdasarkan input freelancer. Klien akan merespons menggunakan state emosional (Satisfaction, Patience, Urgency) dan sistem memori jangka pendek/panjang.

2. Real-Time Diagnostic Meters & Tabbed Sidebar

  • Diagnostic Meters: Status emosional klien (Satisfaction, Patience, Urgency) ditampilkan secara real-time.
  • Tabbed Sidebar: Beralih mudah antara tab Project Spec (spesifikasi, scope, milestones, risks) dan tab Client Persona (psikologi Big-Five, tone bahasa, red flags, dan kesan live klien terhadap Anda berdasarkan memori aktif mereka).

3. Advanced Features (Native APIs)

  • 🎵 Synthesized Sound Effects (Web Audio API): Sound effect interaktif yang disintesis secara dinamis langsung di browser (suara ketikan, chime notifikasi masuk, alarm sirine darurat saat krisis, dan melodi kemenangan saat proyek sukses). Tanpa perlu mengunduh file suara tambahan.
  • 🗣️ Text-To-Speech Voice Notes (Web Speech API): Klien dapat mengirimkan voice notes transkrip yang bisa dibacakan langsung menggunakan suara sintesis bahasa Inggris, Indonesia, atau campuran, lengkap dengan penyesuaian nada (pitch) dan kecepatan (rate) berdasarkan tingkat emosi klien.
  • 🛠️ Custom Client Creator: Buat klien impian (atau terburuk) Anda sendiri dengan form interaktif glassmorphic. Tentukan traits psikologis mereka menggunakan slider (Agreeableness, Neuroticism, dll.), atur bahasa komunikasi, tingkat kesulitan, serta red flags dan quirks khusus mereka.

4. Systemic Security Protections

  • Input Sanitization: Penyaringan karakter dan pembersihan tag HTML/Script pada obrolan untuk mencegah XSS & Prompt Injection.
  • Payload Validation: Verifikasi skema data input server yang aman dari crash.
  • IP-Based Rate Limiting: Pembatasan lalu lintas API (maksimal 30 request/menit per IP) untuk menghemat dan melindungi API key NVIDIA.
  • Secure Error Handling: Menutup kebocoran informasi jejak error (error stack trace) pada respons klien.

5. Performance Report Card & PDF Exporter

Dapatkan penilaian terperinci mengenai Professionalism, Scope Management, dan Negotiation Skill saat simulasi selesai. Rapor penilaian beserta grafik batang indikator visual hasil performa dan riwayat obrolan lengkap dapat diekspor langsung ke format PDF.


📂 Struktur Dokumentasi Proyek

Panduan terperinci tentang sistem dan pengembangan dapat ditemukan di folder docs/:

  1. 📄 Arsitektur Proyek: Alur kerja data, modularitas Zustand stores, dialogue engine, dan local sound/speech synthesis.
  2. 📄 Katalog Personas: Metadata lengkap 8 klien bawaan, traits psikologis, tingkat kesulitan, dan red flags mereka.
  3. 📄 Dialogue Engine & Prompt: Penjelasan cara kerja Intent Parser, Offline Dialogue Tree, dan Prompt LLM terjemahan dinamis (Jaksel, ID, EN).
  4. 📄 Panduan Desktop App: Detail kemasan Electron, manajemen server Next.js di background, serta instruksi rilis GitHub.

🛠️ Panduan Instalasi Lokal

Prasyarat

Pastikan Anda sudah menginstal Node.js (Versi 18 ke atas direkomendasikan).

Langkah-langkah Web

  1. Clone repositori:
    git clone https://github.com/username/faclie.git
    cd faclie
  2. Instal dependensi:
    npm install
  3. Jalankan server pengembangan web:
    npm run dev
  4. Buka browser: Akses http://localhost:3000 (atau port lain yang ditunjuk) untuk melihat aplikasi berjalan secara lokal.

Langkah-langkah Desktop App (Electron)

Aplikasi desktop dapat dijalankan secara lokal atau dikompilasi menjadi berkas installer:

  • Jalankan versi desktop dev (Next.js server + Electron window):
    npm run desktop:dev
  • Kompilasi dan pack lokal (Uji coba build tanpa installer):
    npm run desktop:pack
  • Build installer desktop resmi (Menghasilkan berkas .exe, .dmg, atau .AppImage di folder dist/):
    npm run desktop:build

🧪 Validasi Build & Linting

Sebelum melakukan push commits ke GitHub, pastikan kode lulus pemeriksaan berikut:

  • Build check:
    npm run build
  • Linter check:
    npm run lint

📄 Lisensi

Proyek ini dilisensikan di bawah lisensi MIT. Silakan gunakan dan kembangkan secara bebas untuk melatih talenta freelance agensi profesional.

Releases

Packages

Contributors

Languages