{"id":22242251,"url":"https://github.com/askareija/api-wilayah-indonesia-rust","last_synced_at":"2026-04-29T23:07:12.908Z","repository":{"id":266084638,"uuid":"897210189","full_name":"askareija/api-wilayah-indonesia-rust","owner":"askareija","description":"REST API data wilayah administrasi Indonesia menggunakan Rust, Actix web, dan SQLite.","archived":false,"fork":false,"pushed_at":"2024-12-04T09:56:20.000Z","size":2100,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-30T09:41:48.862Z","etag":null,"topics":["actix-web","docker","docker-compose","rust","rust-lang","sqlite","sqlite-database","wilayah-administratif","wilayah-indonesia"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/askareija.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}},"created_at":"2024-12-02T08:30:28.000Z","updated_at":"2024-12-04T09:56:24.000Z","dependencies_parsed_at":"2024-12-02T19:32:09.001Z","dependency_job_id":null,"html_url":"https://github.com/askareija/api-wilayah-indonesia-rust","commit_stats":null,"previous_names":["askareija/api-wilayah-indonesia-rust"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/askareija%2Fapi-wilayah-indonesia-rust","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/askareija%2Fapi-wilayah-indonesia-rust/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/askareija%2Fapi-wilayah-indonesia-rust/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/askareija%2Fapi-wilayah-indonesia-rust/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/askareija","download_url":"https://codeload.github.com/askareija/api-wilayah-indonesia-rust/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245442515,"owners_count":20616032,"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","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":["actix-web","docker","docker-compose","rust","rust-lang","sqlite","sqlite-database","wilayah-administratif","wilayah-indonesia"],"created_at":"2024-12-03T04:15:08.550Z","updated_at":"2026-04-29T23:07:12.882Z","avatar_url":"https://github.com/askareija.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# REST API Wilayah Administrasi Indonesia\n\nIni adalah sebuah REST API yang menyediakan data wilayah administrasi Indonesia. Database SQLite ini sudah terisi dengan data wilayah Indonesia yang bersumber dari github [guzfirdaus/Wilayah-Administrasi-Indonesia](https://github.com/guzfirdaus/Wilayah-Administrasi-Indonesia).\n\n## Teknologi yang digunakan\n1. [Rust](https://www.rust-lang.org/) (Bahasa pemrograman)\n2. [Actix Web](https://actix.rs/) (Framework Web)\n3. [SQLite](https://www.sqlite.org/) (Database)\n4. [Docker](https://www.docker.com/) (Kontainerisasi)\n\n## Fitur\n1. List data provinsi\n2. List data kota berdasarkan ID provinsi\n3. List data kecamatan berdasarkan ID kota\n4. List data desa berdasarkan ID kecamatan\n5. Data full administrasi berdasarkan ID desa. Contoh:\n```json\n{\n\t\"province_code\": \"32\",\n\t\"province_name\": \"JAWA BARAT\",\n\t\"city_code\": \"32.04\",\n\t\"city_name\": \"KAB. BANDUNG\",\n\t\"region_code\": \"32.04.08\",\n\t\"region_name\": \"Bojongsoang\",\n\t\"village_code\": \"32.04.08.2002\",\n\t\"village_name\": \"Bojongsoang\"\n}\n```\n\n## Alur Teknis\nDari main, lalu ke routes untuk mendefinisikan path URL, lalu dari route tersebut ke handler, anggap saja handler ini adalah controller, lalu dari handler ke db, anggap db ini adalah repository, karena dia melakukan interaksi langsung dengan tier database.\n\n```mermaid\nflowchart LR\n    A[Main] --\u003e B[Routes]\n    B --\u003e C[Handlers]\n    C --\u003e D[DB]\n```\n\n## Penggunaan\nUntuk menggunakan REST API ini, Anda perlu menggunakan [Postman](https://www.postman.com/) atau [Insomnia](https://insomnia.rest/) untuk mengakses endpoint tersebut.\n\n### Penggunaan dengan Insomnia\n1. Buka Insomnia\n2. Klik `Import`\n3. Pilih file `insomnia_wilayah_indonesia.json` lalu klik `Scan`, lalu klik `Import`\n\n## Docker\n\n#### Build image\n```bash\ndocker build -t wilayah-service .\n```\n\n#### Menjalankan image\n```bash\ndocker run -p 8880:8080 --init --rm --name wilayah-service -v /rust-wilayah-service/data:/data wilayah-service\n```\nGanti volume `/rust-wilayah-service/data` dengan lokasi dimana database wilayah disimpan. pada linux/mac, Anda bisa menggunakan `pwd` untuk mendapatkan lokasi tersebut.\n\n#### Compose\n```yaml\nservices:\n  wilayah-service:\n    image: wilayah-service\n    ports:\n      - \"8880:8080\"\n    volumes:\n      - ./data:/data\n```\n\n## Arsitektur\n\nAplikasi microservice ini bisa dijalankan sendiri, namun akan lebih bagus jika disandingkan dengan aplikasi lain menggunakan API gateway seperti [Krakend](https://www.krakend.io/) atau [Apache APISIX](https://apisix.apache.org/).\n\n#### Contoh Arsitektur\n```mermaid\nflowchart TD\n    A[Browser] --\u003e|Akses ke aplikasi| B[Server Proxy / NGINX]\n    B --\u003e|/| C[Frontend]\n    B --\u003e|/api| D[API Gateway]\n    D --\u003e|/api/*| E[Main Backend]\n    D --\u003e|/api/wilayah/*| F[Wilayah Service]\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faskareija%2Fapi-wilayah-indonesia-rust","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faskareija%2Fapi-wilayah-indonesia-rust","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faskareija%2Fapi-wilayah-indonesia-rust/lists"}