Skip to content

Repository files navigation

Document Converter Workspace

Portal pengolahan dokumen modern untuk convert, comment, signature, compression, dan merge dokumen dalam satu workspace.

Laravel 12.64.0 PHP 8.2+ Vite 6.0.11 Python 3.10+

Tailwind CSS 4.3.3 Alpine.js 3.15.12 Axios 1.7.4 DataTables 3.0.0 SweetAlert2 11.26.25

About Project

Document Converter Workspace adalah aplikasi berbasis Laravel 12 yang dirancang untuk memusatkan berbagai proses pengolahan dokumen ke dalam satu dashboard yang konsisten, cepat, dan nyaman dipakai.

Di dalam satu portal, user bisa:

  • convert dokumen lintas format
  • memberi komentar pada PDF
  • menambahkan tanda tangan ke PDF atau Word
  • mengompres ukuran file
  • menggabungkan beberapa dokumen menjadi satu file
  • menggunakan mode terang / gelap sesuai preferensi

Tech Stack

Backend

Layer Teknologi Versi
Framework Laravel 12.64.0
Runtime PHP 8.2+
Auth Laravel Sanctum 4.3.3
Dev Utility Laravel Tinker 2.11.1

Frontend

Layer Teknologi Versi
Bundler Vite 6.0.11
Styling Tailwind CSS 4.3.3
UI State Alpine.js 3.15.12
HTTP Client Axios 1.7.4
Table DataTables 3.0.0
Modal / Alert SweetAlert2 11.26.25
Word Preview docx-preview 0.4.0
PDF Viewer pdfjs-dist 6.1.200
Spreadsheet Preview xlsx 0.18.5

Processing Engine

Layer Teknologi Versi
Runtime Python 3.10+
PDF Merge / Annotation pypdf sesuai environment
DOCX Processing python-docx sesuai environment
PDF to DOCX pdf2docx sesuai environment
PDF Rendering reportlab sesuai environment
PDF Compression PyMuPDF / fitz sesuai environment
Image Processing Pillow sesuai environment
Spreadsheet Processing openpyxl sesuai environment

Catatan Versi Laravel, Sanctum, Vite, Tailwind, Alpine, dan library frontend di atas diambil dari dependency project saat dokumentasi ini ditulis. Package Python mengikuti environment lokal saat proses instalasi.

Quick Start

Prasyarat

Pastikan environment lokal sudah menyiapkan:

  • PHP 8.2+
  • Composer
  • Node.js dan npm
  • Python 3.10+
  • MySQL / MariaDB
  • Laragon / XAMPP / web server lokal lain

Instalasi Cepat

Salin dan jalankan perintah berikut:

git clone <repo-url>
cd document-converter
composer install
npm install
cp .env.example .env
php artisan key:generate

Lalu atur koneksi database di file .env.

Jika binary Python kamu bukan python, tambahkan juga:

PYTHON_BINARY=python

Contoh custom path:

PYTHON_BINARY=C:\Python311\python.exe

Install Package Python

Salin dan jalankan:

pip install pillow pypdf python-docx pdf2docx reportlab pymupdf openpyxl

Migrate dan Seeder

Untuk membuat struktur database dan user default:

php artisan migrate --seed

Seeder utama ada di database/seeders/MasterUserSeeder.php.

Kalau ingin mengganti user default sesuai kebutuhan tim atau environment sendiri, ubah nilai:

  • username
  • email
  • name
  • password

Lalu jalankan ulang:

php artisan migrate:fresh --seed

Menjalankan Project

Untuk development:

php artisan serve
npm run dev

Untuk build asset production:

npm run build

Login Default

Setelah menjalankan php artisan migrate --seed, akun bawaan yang tersedia adalah:

Field Value
Username admin
Email admin123@mail.com
Password password

Fitur Utama

Menu Fungsi Utama Format
Dashboard Ringkasan total data tiap modul Summary
Document Convert Konversi dokumen lintas format PDF, DOCX, CSV, XLSX
Document Comment Tambah komentar pada dokumen PDF
Document Signature Tambah tanda tangan ke dokumen PDF, DOCX
Document Compression Kompres ukuran file PDF, DOCX, CSV, XLSX, PNG, JPG, JPEG
Document Merge Gabungkan beberapa dokumen jadi satu PDF, DOCX
Dark Mode Ganti tema portal terang / gelap Seluruh portal

Preview Fitur

1. Dashboard

Dashboard menampilkan ringkasan total data per modul agar user bisa langsung melihat aktivitas dokumen dalam satu tampilan.

Highlight

  • summary card per menu
  • sidebar navigation yang konsisten
  • dark mode toggle di sidebar

GIF proses

Dashboard GIF

Screenshot

Dashboard Screenshot


1.1 Dark Mode

Dark Mode membantu user tetap nyaman saat memakai portal dalam waktu lama, terutama saat review dokumen, preview hasil, atau bekerja di ruangan minim cahaya.

Highlight

  • toggle tema tersedia langsung di sidebar
  • mode tema berlaku ke seluruh portal
  • preferensi user disimpan agar tema tetap konsisten saat pindah halaman
  • mendukung workflow dashboard, list data, modal, dan editor dokumen

Catatan

Dark mode sudah diterapkan pada area utama seperti Dashboard, Document Convert, Document Comment, Document Signature, Document Compression, dan Document Merge.

Screenshot dark mode

Dark Mode Screenshot


2. Document Convert

Document Convert dipakai untuk mengubah dokumen ke format target tertentu dengan alur upload cepat dan hasil yang bisa langsung dipreview dari modal.

Flow yang didukung

  • PDF -> Word
  • Word (.docx) -> PDF
  • CSV -> XLSX
  • XLSX -> CSV

Aksi yang tersedia

  • upload file sumber
  • pilih target convert
  • preview hasil
  • download hasil
  • hapus riwayat convert

GIF proses

Document Convert GIF

Screenshot

Document Convert Screenshot


3. Document Comment

Document Comment dipakai untuk upload draft PDF, menambahkan komentar di posisi tertentu, lalu menghasilkan file PDF yang sudah berisi anotasi.

Fungsi utama

  • upload draft PDF
  • editor komentar berbasis halaman dan posisi
  • preview hasil anotasi
  • finish dokumen bila proses komentar selesai
  • download PDF berkomentar

Aksi list

  • comment
  • preview
  • download
  • hapus

Screenshot list

Document Comment Screenshot

Screenshot upload draft

Document Comment Upload Draft

Alur singkat

  • user upload PDF draft
  • sistem membaca metadata halaman
  • user masuk ke editor komentar
  • komentar ditempel berdasarkan halaman dan posisi
  • hasil akhir bisa preview, finish, lalu download

4. Document Signature

Document Signature dipakai untuk memberi tanda tangan pada dokumen PDF atau Word. Sistem mendukung tanda tangan berupa upload image maupun manual signature.

Fungsi utama

  • upload dokumen PDF atau DOCX
  • tambah tanda tangan manual atau file image
  • atur posisi tanda tangan
  • preview hasil editor
  • finish dokumen saat final

Output

  • sumber PDF tetap diunduh sebagai PDF
  • sumber Word memakai preview PDF dan hasil final DOCX

Screenshot list

Document Signature Screenshot

Signature Mode: Upload File

Mode ini dipakai saat user sudah punya file tanda tangan dan ingin langsung menempelkannya ke dokumen.

Screenshot upload draft

Document Signature Upload Draft

Alur singkat

  • upload dokumen PDF atau DOCX
  • pilih tipe signature Upload File
  • masuk ke editor signature
  • tempel signature image ke halaman dan posisi yang diinginkan
  • preview, finish, lalu download hasil final

Signature Mode: Manual

Mode ini dipakai saat user ingin menggambar tanda tangan langsung dari editor tanpa upload file signature dari luar.

Screenshot editor manual

Document Signature Manual Editor

Alur singkat

  • upload dokumen PDF atau DOCX
  • pilih tipe signature Manual
  • gambar tanda tangan di canvas editor
  • tempatkan tanda tangan ke halaman yang dipilih
  • preview, finish, lalu download hasil final

5. Document Compression

Document Compression dipakai untuk mengecilkan ukuran file tanpa memindahkan user ke halaman lain. Proses berjalan dari modal dan hasilnya tercatat di tabel history.

Tipe yang didukung

  • PDF
  • Word (.docx)
  • CSV
  • XLSX
  • PNG / JPG / JPEG

Fungsi utama

  • pilih level compress Low, Medium, atau High
  • lihat ukuran asli dan ukuran hasil
  • lihat persentase reduction
  • preview hasil bila tersedia
  • download file hasil compression

GIF proses

Document Compression GIF

Screenshot

Document Compression Screenshot


6. Document Merge

Document Merge dipakai untuk menggabungkan beberapa dokumen menjadi satu file final. Fitur ini sekarang mendukung PDF dan Word dengan engine serta service yang dipisah agar alur masing-masing tipe tetap aman.

Aturan utama

  • tipe dokumen wajib dipilih
  • minimal upload 2 file
  • nama file hasil merge wajib diisi
  • semua field bersifat mandatory

Informasi yang tampil di tabel

  • nama file hasil merge
  • jumlah file yang digabung
  • ukuran file hasil merge
  • total halaman
  • tipe dokumen merge

Aksi list

  • preview
  • download
  • hapus

GIF proses

Document Merge GIF

Screenshot

Document Merge Screenshot


Struktur Menu

Dashboard
Document Convert
Document Comment
Document Signature
Document Compression
Document Merge

Catatan Teknis

  • Frontend dibangun dengan Blade + Tailwind CSS + Alpine.js + Vite.
  • Data list memakai server-side DataTables AJAX.
  • Backend memakai pola controller + service agar logic per fitur tetap terpisah.
  • Engine Python dipakai untuk proses dokumen berat seperti convert, merge, compression, comment rendering, dan signature rendering.
  • Theme preference disimpan agar mode terang / gelap konsisten saat user berpindah halaman.

Author

Project ini dibuat oleh Stephen Wau.

Lisensi

Project ini mengikuti lisensi yang dipakai di repository ini. Jika project akan digunakan ulang untuk kebutuhan internal maupun komersial, sebaiknya lakukan pengecekan lisensi terlebih dahulu sebelum distribusi.

About

A modern Laravel-based document workspace for converting, commenting, signing, compressing, and merging files in one unified portal.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages