Skip to content

nooobss/hackatonbob-docsGen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📄 Document Generator - Proof of Concept (PoC)

Aplikasi web sederhana untuk generate dokumen Word dari template menggunakan SvelteKit.

🎯 Fitur PoC

  • ✅ Form input data kegiatan
  • ✅ Generate dokumen KAK Translok dari template
  • ✅ Download dokumen hasil generate
  • ✅ Database SQLite untuk menyimpan history
  • ✅ Bootstrap 5 untuk UI

🚀 Quick Start

1. Install Dependencies

npm install

2. Buat Template Word

Buat 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.

3. Setup Environment

cp .env.example .env

4. Run Development Server

npm run dev

Buka browser: http://localhost:5173

📁 Struktur Project

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

🔧 Tech Stack

  • Framework: SvelteKit 2.0
  • UI: Bootstrap 5.3
  • Database: better-sqlite3
  • Document Generation: docxtemplater + pizzip
  • Date Formatting: date-fns

📝 Cara Pakai

  1. Buka aplikasi di browser
  2. Isi form dengan data kegiatan
  3. Klik "Generate Dokumen"
  4. Download dokumen hasil generate

🧪 Testing

Manual Testing

  1. Isi form dengan data test
  2. Generate dokumen
  3. Download dan buka di Microsoft Word
  4. Verifikasi semua placeholder terisi dengan benar

Test Data

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

🐛 Troubleshooting

Error: "Template not found"

Solusi: Pastikan file kak_translok.docx ada di folder static/templates/

Error: "Cannot find module 'better-sqlite3'"

Solusi:

npm install

Error: "ENOENT: no such file or directory"

Solusi: Pastikan folder generated/ ada. Jika tidak, buat manual:

mkdir generated

Placeholder tidak terisi

Solusi:

  • 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

📊 Database Schema

Table: activities

  • id (INTEGER PRIMARY KEY)
  • code (VARCHAR)
  • name (VARCHAR)
  • description (TEXT)

Table: document_templates

  • id (INTEGER PRIMARY KEY)
  • activity_id (INTEGER)
  • document_name (VARCHAR)
  • template_file (VARCHAR)

Table: generated_documents

  • id (INTEGER PRIMARY KEY)
  • batch_id (VARCHAR)
  • activity_id (INTEGER)
  • tanggal_kegiatan (DATE)
  • nama_pembuat (VARCHAR)
  • nama_kegiatan (VARCHAR)
  • file_path (TEXT)

🎯 Next Steps (Future Development)

  • 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

📄 License

MIT

👨‍💻 Developer

Bob - AI Software Engineer


⏱️ Development Time: 1 Day PoC
📅 Created: 2024
🎯 Purpose: Proof of Concept untuk Document Generator

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors