Skip to content

classyid/document-regulatory-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ›οΈ Document Regulatory API

Automated Indonesian legal document analysis system powered by Google Apps Script and Gemini AI

License: MIT Google Apps Script Gemini AI

🎯 Overview

Document Regulatory API adalah sistem otomatis untuk menganalisis dan mengekstrak metadata dari dokumen peraturan/regulasi Indonesia. Sistem ini menggunakan AI (Google Gemini) untuk memproses dokumen PDF dan gambar, lalu menyimpan data terstruktur ke Google Sheets dengan akses melalui RESTful API.

✨ Features

  • πŸ€– AI-Powered Analysis - Gemini 2.0 Flash untuk ekstraksi metadata
  • πŸ“„ Multi-Format Support - PDF, JPG, PNG, GIF
  • πŸ” Smart Document Recognition - Deteksi otomatis dokumen peraturan
  • πŸ“Š Structured Data Extraction - 15 field metadata terstruktur
  • πŸš€ RESTful API - Complete CRUD operations
  • πŸ“ˆ Analytics & Statistics - Dashboard dan reporting
  • πŸ” Advanced Search - Full-text search capabilities
  • πŸ“ Activity Logging - Comprehensive audit trail

πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Client Apps   β”‚ => β”‚  Apps Script API β”‚ => β”‚   Gemini AI     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                β”‚
                       β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”
                       β”‚                 β”‚
                β”Œβ”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”
                β”‚ Google      β”‚   β”‚ Google      β”‚
                β”‚ Sheets      β”‚   β”‚ Drive       β”‚
                β”‚ (Database)  β”‚   β”‚ (Storage)   β”‚
                β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸš€ Quick Start

Prerequisites

  • Google Account
  • Google Drive access
  • Gemini API key

Setup

  1. Clone or copy the script
  2. Configure constants in CONFIG object
  3. Set up Google Sheets and Drive folder
  4. Deploy as web app

Detailed setup instructions in DEPLOYMENT.md

πŸ“‘ API Endpoints

Method Endpoint Description
GET /health System health check
POST /upload Upload and analyze document
GET /documents List documents with pagination
GET /document Get single document details
GET /search Search documents
GET /stats Get system statistics
GET /logs Get system logs

πŸ“‹ Data Schema

Document Fields

  • Jenis Dokumen
  • Nomor Peraturan
  • Tahun Terbit
  • Judul/Tentang
  • Instansi Penerbit
  • Tanggal Ditetapkan
  • Tanggal Diundangkan
  • Nomor Lembaran Negara
  • Nomor Tambahan Lembaran Negara
  • Sumber Hukum
  • Kata Kunci
  • Bidang/Sektor
  • Status Dokumen
  • Ringkasan Singkat
  • Pasal Penting

πŸ”§ Configuration

const CONFIG = {
  GEMINI_API_KEY: 'your_gemini_api_key',
  GEMINI_MODEL: 'gemini-2.0-flash',
  SPREADSHEET_ID: 'your_spreadsheet_id',
  FOLDER_ID: 'your_drive_folder_id'
};

πŸ“± Usage Examples

Upload Document

const formData = new FormData();
formData.append('fileData', base64Data);
formData.append('fileName', 'regulation.pdf');
formData.append('mimeType', 'application/pdf');

fetch('https://script.google.com/macros/s/YOUR_SCRIPT_ID/exec?action=upload', {
  method: 'POST',
  body: formData
});

Search Documents

fetch('https://script.google.com/macros/s/YOUR_SCRIPT_ID/exec?action=search&q=OJK&limit=10')
  .then(response => response.json())
  .then(data => console.log(data));

🀝 Contributing

  1. Fork the repository
  2. Create feature branch (git checkout -b feature/amazing-feature)
  3. Commit changes (git commit -m 'Add amazing feature')
  4. Push to branch (git push origin feature/amazing-feature)
  5. Open Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

  • Google Gemini AI for document analysis
  • Google Apps Script platform
  • Indonesian government for open regulation access

πŸ“ž Support


---

About

πŸ›οΈ Indonesian Legal Document Analysis API - Automated regulatory document processing using Google Apps Script and Gemini AI. Extract structured metadata from legal documents (regulations, laws, government documents) with intelligent parsing and RESTful API access.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors