Aplikasi web sederhana untuk generate dokumen Word dari template menggunakan SvelteKit.
- ✅ Form input data kegiatan
- ✅ Generate dokumen KAK Translok dari template
- ✅ Download dokumen hasil generate
- ✅ Database SQLite untuk menyimpan history
- ✅ Bootstrap 5 untuk UI
npm installBuat file Word dengan nama kak_translok.docx di folder static/templates/.
Konten minimal template:
KERANGKA ACUAN KERJA
Nama Kegiatan: {NAMA_KEGIATAN}
Tanggal: {TANGGAL_KEGIATAN}
Lokasi: {LOKASI_KEGIATAN}
Pembuat: {NAMA_PEMBUAT}
Akun Anggaran: {AKUN_ANGGARAN}
PENTING: Gunakan kurung kurawal {} untuk placeholder!
Lihat static/templates/README.md untuk template lengkap.
cp .env.example .envnpm run devBuka browser: http://localhost:5173
document-generator-poc/
├── src/
│ ├── lib/
│ │ ├── services/
│ │ │ ├── database.js # Database setup & seed
│ │ │ └── documentGenerator.js # Document generation logic
│ │ ├── components/ # (untuk future)
│ │ ├── utils/ # (untuk future)
│ │ └── types/ # (untuk future)
│ └── routes/
│ ├── +page.svelte # Halaman utama (form)
│ └── api/
│ ├── generate/
│ │ └── +server.js # API generate dokumen
│ └── download/
│ └── [filename]/
│ └── +server.js # API download dokumen
├── static/
│ └── templates/
│ ├── README.md # Instruksi template
│ └── kak_translok.docx # Template Word (buat manual)
├── generated/ # Folder hasil generate
├── database.sqlite # Database (auto-created)
└── package.json
- Framework: SvelteKit 2.0
- UI: Bootstrap 5.3
- Database: better-sqlite3
- Document Generation: docxtemplater + pizzip
- Date Formatting: date-fns
- Buka aplikasi di browser
- Isi form dengan data kegiatan
- Klik "Generate Dokumen"
- Download dokumen hasil generate
- Isi form dengan data test
- Generate dokumen
- Download dan buka di Microsoft Word
- Verifikasi semua placeholder terisi dengan benar
Tanggal Kegiatan: 2024-01-15
Nama Pembuat: John Doe
Nama Kegiatan: Rapat Koordinasi Bulanan
Akun Anggaran: 524111
Tujuan Kegiatan: Koordinasi program kerja
Lokasi Kegiatan: Kantor Pusat
Jumlah Peserta: 10
Waktu Mulai: 09:00
Waktu Selesai: 12:00
Solusi: Pastikan file kak_translok.docx ada di folder static/templates/
Solusi:
npm installSolusi: Pastikan folder generated/ ada. Jika tidak, buat manual:
mkdir generatedSolusi:
- Pastikan placeholder di template menggunakan kurung kurawal
{NAMA_PLACEHOLDER} - Pastikan tidak ada spasi di dalam kurung kurawal
- Pastikan nama placeholder sesuai dengan yang ada di kode
- id (INTEGER PRIMARY KEY)
- code (VARCHAR)
- name (VARCHAR)
- description (TEXT)
- id (INTEGER PRIMARY KEY)
- activity_id (INTEGER)
- document_name (VARCHAR)
- template_file (VARCHAR)
- id (INTEGER PRIMARY KEY)
- batch_id (VARCHAR)
- activity_id (INTEGER)
- tanggal_kegiatan (DATE)
- nama_pembuat (VARCHAR)
- nama_kegiatan (VARCHAR)
- file_path (TEXT)
- Multiple templates per activity
- History page dengan list dokumen
- Preview dokumen sebelum download
- ZIP download untuk multiple documents
- User authentication
- Template management UI
- Export to PDF
MIT
Bob - AI Software Engineer
⏱️ Development Time: 1 Day PoC
📅 Created: 2024
🎯 Purpose: Proof of Concept untuk Document Generator