Smart E-Archive adalah sistem informasi manajemen arsip digital berbasis web yang dibangun menggunakan Framework Laravel. Aplikasi ini dirancang untuk mempermudah pengelolaan surat masuk, surat keluar, serta pengarsipan dokumen dengan fitur integrasi penyimpanan cloud (Google Drive) dan pelaporan otomatis.
- Manajemen Surat Masuk & Keluar: CRUD (Create, Read, Update, Delete) data surat dengan lampiran file.
- Arsip Digital: Penyimpanan dokumen terpusat yang aman.
- Integrasi Cloud Storage: Sinkronisasi dokumen otomatis ke Google Drive menggunakan Google Drive API.
- Laporan & Ekspor:
- Generate laporan surat dalam format PDF (
barryvdh/laravel-dompdf). - Ekspor data ke Excel (
maatwebsite/excel).
- Generate laporan surat dalam format PDF (
- Manajemen Pengguna (ACL): Hak akses bertingkat (Administrator & User biasa) menggunakan middleware.
- Activity Logs: Pencatatan riwayat aktivitas pengguna untuk audit sistem.
- Dashboard Interaktif: Ringkasan statistik arsip.
- Backend: Laravel 11 Framework
- Language: PHP ^8.2
- Frontend: Blade Templates, Tailwind CSS
- Build Tool: Vite
- Database: MySQL / MariaDB
- Third-Party Libraries:
google/apiclient&masbug/flysystem-google-drive-ext(Google Drive Integration)maatwebsite/excel(Excel Export)barryvdh/laravel-dompdf(PDF Generation)
Sebelum menginstal, pastikan sistem Anda memiliki:
- PHP >= 8.2
- Composer
- Node.js & NPM
- Database MySQL
- Akun Google Cloud Platform (untuk kredensial Google Drive API)
Ikuti langkah-langkah berikut untuk menjalankan project di lokal:
-
Clone Repository
git clone [https://github.com/username/smart-earchive.git](https://github.com/username/smart-earchive.git) cd smart-earchive -
Instal Dependensi PHP & JavaScript
composer install npm install
-
Konfigurasi Environment Salin file
.env.examplemenjadi.env:cp .env.example .env
Buka file
.envdan sesuaikan konfigurasi database:DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=nama_database_anda DB_USERNAME=user_database DB_PASSWORD=password_database
-
Generate Application Key
php artisan key:generate
-
Migrasi Database & Seeding
php artisan migrate --seed
-
Build Assets
npm run build
-
Setup Google Drive API (Penting) Agar fitur cloud storage berjalan, Anda perlu mengatur kredensial Google Drive di
.env:GOOGLE_DRIVE_CLIENT_ID=your_client_id GOOGLE_DRIVE_CLIENT_SECRET=your_client_secret GOOGLE_DRIVE_FOLDER_ID=your_target_folder_id
Kemudian jalankan command khusus yang telah disediakan untuk mendapatkan Refresh Token:
php artisan google:token
Ikuti instruksi di terminal untuk melakukan otorisasi via browser.
-
Jalankan Server
php artisan serve
Akses aplikasi di
http://localhost:8000.
Berikut adalah gambaran umum struktur folder penting dalam project ini:
smart-earchive/
├── app/
│ ├── Console/Commands/ # Command khusus (mis: GenerateGoogleDriveToken)
│ ├── Http/Controllers/ # Controller logika aplikasi (Archive, Mail, Reports)
│ ├── Models/ # Eloquent Models
│ └── Services/ # CloudStorageService (Logika integrasi Drive)
├── database/
│ ├── migrations/ # Struktur tabel database
│ └── seeders/ # Data awal (User admin, dll)
├── resources/
│ ├── views/ # Tampilan Blade (Frontend)
│ └── css/ # Tailwind configuration
├── routes/
│ └── web.php # Definisi routing aplikasi
└── composer.json # Daftar dependensi backend