{"id":31028230,"url":"https://github.com/classyid/document-regulatory-api","last_synced_at":"2026-07-22T16:31:43.338Z","repository":{"id":305923515,"uuid":"1024406238","full_name":"classyid/document-regulatory-api","owner":"classyid","description":"🏛️ 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.","archived":false,"fork":false,"pushed_at":"2025-07-22T16:47:59.000Z","size":17,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-22T18:23:42.895Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/classyid.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-22T16:41:33.000Z","updated_at":"2025-07-22T16:48:04.000Z","dependencies_parsed_at":null,"dependency_job_id":"a4c22a55-4041-4ce5-9f67-c8047f0cbab5","html_url":"https://github.com/classyid/document-regulatory-api","commit_stats":null,"previous_names":["classyid/document-regulatory-api"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/classyid/document-regulatory-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/classyid%2Fdocument-regulatory-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/classyid%2Fdocument-regulatory-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/classyid%2Fdocument-regulatory-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/classyid%2Fdocument-regulatory-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/classyid","download_url":"https://codeload.github.com/classyid/document-regulatory-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/classyid%2Fdocument-regulatory-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275020152,"owners_count":25391651,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-13T02:00:10.085Z","response_time":70,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-09-13T20:06:50.801Z","updated_at":"2026-07-22T16:31:43.333Z","avatar_url":"https://github.com/classyid.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🏛️ Document Regulatory API\n\n\u003e Automated Indonesian legal document analysis system powered by Google Apps Script and Gemini AI\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Google Apps Script](https://img.shields.io/badge/Google%20Apps%20Script-4285F4?logo=google\u0026logoColor=white)](https://script.google.com/)\n[![Gemini AI](https://img.shields.io/badge/Gemini%20AI-8E75B2?logo=google\u0026logoColor=white)](https://ai.google.dev/)\n\n## 🎯 Overview\n\nDocument 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.\n\n## ✨ Features\n\n- 🤖 **AI-Powered Analysis** - Gemini 2.0 Flash untuk ekstraksi metadata\n- 📄 **Multi-Format Support** - PDF, JPG, PNG, GIF\n- 🔍 **Smart Document Recognition** - Deteksi otomatis dokumen peraturan\n- 📊 **Structured Data Extraction** - 15 field metadata terstruktur\n- 🚀 **RESTful API** - Complete CRUD operations\n- 📈 **Analytics \u0026 Statistics** - Dashboard dan reporting\n- 🔍 **Advanced Search** - Full-text search capabilities\n- 📝 **Activity Logging** - Comprehensive audit trail\n\n## 🏗️ Architecture\n\n```\n┌─────────────────┐    ┌──────────────────┐    ┌─────────────────┐\n│   Client Apps   │ =\u003e │  Apps Script API │ =\u003e │   Gemini AI     │\n└─────────────────┘    └──────────────────┘    └─────────────────┘\n                                │\n                       ┌────────┴────────┐\n                       │                 │\n                ┌──────▼──────┐   ┌──────▼──────┐\n                │ Google      │   │ Google      │\n                │ Sheets      │   │ Drive       │\n                │ (Database)  │   │ (Storage)   │\n                └─────────────┘   └─────────────┘\n```\n\n## 🚀 Quick Start\n\n### Prerequisites\n\n- Google Account\n- Google Drive access\n- Gemini API key\n\n### Setup\n\n1. **Clone or copy the script**\n2. **Configure constants in CONFIG object**\n3. **Set up Google Sheets and Drive folder**\n4. **Deploy as web app**\n\nDetailed setup instructions in [DEPLOYMENT.md](DEPLOYMENT.md)\n\n## 📡 API Endpoints\n\n| Method | Endpoint | Description |\n|--------|----------|-------------|\n| GET | `/health` | System health check |\n| POST | `/upload` | Upload and analyze document |\n| GET | `/documents` | List documents with pagination |\n| GET | `/document` | Get single document details |\n| GET | `/search` | Search documents |\n| GET | `/stats` | Get system statistics |\n| GET | `/logs` | Get system logs |\n\n## 📋 Data Schema\n\n### Document Fields\n- Jenis Dokumen\n- Nomor Peraturan  \n- Tahun Terbit\n- Judul/Tentang\n- Instansi Penerbit\n- Tanggal Ditetapkan\n- Tanggal Diundangkan\n- Nomor Lembaran Negara\n- Nomor Tambahan Lembaran Negara\n- Sumber Hukum\n- Kata Kunci\n- Bidang/Sektor\n- Status Dokumen\n- Ringkasan Singkat\n- Pasal Penting\n\n## 🔧 Configuration\n\n```javascript\nconst CONFIG = {\n  GEMINI_API_KEY: 'your_gemini_api_key',\n  GEMINI_MODEL: 'gemini-2.0-flash',\n  SPREADSHEET_ID: 'your_spreadsheet_id',\n  FOLDER_ID: 'your_drive_folder_id'\n};\n```\n\n## 📱 Usage Examples\n\n### Upload Document\n```javascript\nconst formData = new FormData();\nformData.append('fileData', base64Data);\nformData.append('fileName', 'regulation.pdf');\nformData.append('mimeType', 'application/pdf');\n\nfetch('https://script.google.com/macros/s/YOUR_SCRIPT_ID/exec?action=upload', {\n  method: 'POST',\n  body: formData\n});\n```\n\n### Search Documents\n```javascript\nfetch('https://script.google.com/macros/s/YOUR_SCRIPT_ID/exec?action=search\u0026q=OJK\u0026limit=10')\n  .then(response =\u003e response.json())\n  .then(data =\u003e console.log(data));\n```\n\n## 🤝 Contributing\n\n1. Fork the repository\n2. Create feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit changes (`git commit -m 'Add amazing feature'`)\n4. Push to branch (`git push origin feature/amazing-feature`)\n5. Open Pull Request\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## 🙏 Acknowledgments\n\n- Google Gemini AI for document analysis\n- Google Apps Script platform\n- Indonesian government for open regulation access\n\n## 📞 Support\n\n- 📧 Email: [kontak@classy.id]\n\n```\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclassyid%2Fdocument-regulatory-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclassyid%2Fdocument-regulatory-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclassyid%2Fdocument-regulatory-api/lists"}