Aplikasi Api Wilayah Indonesia & Kode Pos Indonesia yang berfungsi sebagai API untuk mendapatkan kode pos berdasarkan pembagian wilayah administratif seperti provinsi, kabupaten, kecamatan, dan desa di Indonesia. Proyek ini menggunakan data CSV untuk wilayah dan diintegrasikan dengan frontend sederhana menggunakan template Jinja2.
- Mendapatkan data provinsi, kabupaten, kecamatan, dan desa di Indonesia.
- Secara otomatis mendapatkan kode pos berdasarkan desa yang dipilih.
- Arsitektur berbasis API dengan FastAPI.
- Dideploy di Vercel menggunakan serverless architecture.
Untuk menjalankan proyek ini secara lokal:
-
Clone repository ini:
git clone https://github.com/bukanekosoed/Api-Wilayah-Indonesia.git
-
Masuk ke direktori proyek:
cd Api-Wilayah-Indonesia
-
Buat environment virtual dan aktifkan:
python -m venv venv source venv/bin/activate # Pada Windows gunakan `venv\Scripts\activate`
-
Install semua dependensi:
pip install -r requirements.txt
-
Jalankan server FastAPI:
uvicorn main:app --reload
-
Buka browser Anda dan akses
http://127.0.0.1:8000
untuk melihat API.
Proyek ini menggunakan beberapa file CSV yang menyimpan data wilayah Indonesia:
provinsi.csv
: Data provinsikabupaten.csv
: Data kabupaten.kecamatan.csv
: Data kecamatan.desa.csv
: Data desa.kodepos.csv
: Data kode pos. Pastikan semua file ini diletakkan pada direktori yang tepat (misalnyadata/
).
Berikut adalah beberapa endpoint utama yang tersedia:
/provinsi
: Mendapatkan semua provinsi atau filter berdasarkan kode atau nama./kabupaten?kode_provinsi={kode_provinsi}
: Mendapatkan daftar kabupaten berdasarkan kode provinsi./kecamatan?kode_kabupaten={kode_kabupaten}
: Mendapatkan daftar kecamatan berdasarkan kode kabupaten./desa?kode_kecamatan={kode_kecamatan}
: Mendapatkan daftar desa berdasarkan kode kecamatan./kodepos?kode_desa={kode_desa}
: Mendapatkan kode pos untuk desa tertentu.
Setiap endpoint mengembalikan data dalam format JSON.
Proyek ini dideploy menggunakan Vercel. Untuk melakukan deploy proyek Anda sendiri:
-
Install Vercel CLI.
-
Pastikan struktur proyek Anda seperti berikut:
/project-root ├── main.py ├── templates/ ├── data/ ├── vercel.json ├── requirements.txt
-
Pastikan file
vercel.json
Anda terlihat seperti ini:{ "builds": [ { "src": "main.py", "use": "@vercel/python" } ], "routes": [ { "src": "/(.*)", "dest": "main.py" } ] }
-
Lakukan deploy proyek Anda:
vercel --prod
Vercel akan melakukan build dan deploy proyek FastAPI Anda.
Jika Anda ingin berkontribusi, silakan fork repository ini dan gunakan branch fitur. Pull request sangat diterima.
- Fork repository ini
- Buat branch fitur (
git checkout -b fitur-branch
) - Commit perubahan Anda (
git commit -am 'Menambahkan fitur baru'
) - Push ke branch (
git push origin fitur-branch
) - Buat Pull Request
Proyek ini dilisensikan di bawah MIT License - lihat file LICENSE untuk detail lebih lanjut.
### Penjelasan:
- **Instalasi**: Langkah-langkah untuk menjalankan proyek secara lokal dengan menggunakan environment virtual.
- **Data CSV**: Menjelaskan file CSV yang diperlukan untuk menyimpan data wilayah Indonesia.
- **Endpoint API**: Menyediakan daftar endpoint yang tersedia di API FastAPI.
- **Deploy**: Langkah-langkah untuk melakukan deploy proyek di Vercel.
- **Kontribusi**: Panduan bagi siapa saja yang ingin berkontribusi dalam proyek.
- **Lisensi**: Menyebutkan lisensi yang digunakan, dalam hal ini MIT License.