saya sedang mengembangkan aplikasi mobile dengan react native framework yaitu expo. aplikasi ini adalah aplikasi manajemen absen untuk karyawan minimarket dan aplikasi untuk cek harga barang baik dengan mencari nama produk atau dengan scanning barcode barang.
backend yang saya gunakan adalah laravel 9. saat membuat endpoint API tidak ada kendala untuk menjalankan simulasi http request karena adanya insomnia atau postman. tapi ketika mulai membangun aplikasi mobile dan akan melakukan integrasi kedua app ini untuk melakukan request dan response data melalui API, di sinilah saya menemukan kendala.
dan syukurnya kendala ini dapat saya temukan solusinya dengan bantuan claude AI. AKU CINTA AI. wkwkwwkwwk.
disclaimer! ini bekerja di komputer, program, aplikasi, semesta saya ya. jadi saya tidak peduli kalo tidak bekerja di kalian.
spesifikasi software dan hardware saat kendala ini terjadi adalah:
solusinya sebenarnya relatif cukup mudah. tapi saya menghabiskan banyak waktu googling dan kebanyakan solusi yang tersebar di internet itu untuk emulator, bukan physical device.
saat menjalankan aplikasi laravel di lokal komputer, secara default ini akan menggunakan localhost seagai url nya. contohnya seperti http://localhost:8000/api untuk url api di palikasi laravel. jadi step pertama kita perlu mengubah localhost di sini dimana secara default ip nya biasanya 127.0.0.1 menjadi ip dari komputer kita.
kita perlu mendapatkan berapa ip dari komputer kita. karena saya mengunakan windows jadi saya bisa menggunakan perintah ipconfig di termianl saya.
check-ip-number
ipconfig
hasil dari perintah di di atas biasanya detail detail dari ipv4 atau ipv6 yang di gunakaan dan lainnya perkara network yang saya tidak paham. tapi yang perlu kita gunakan adalah ipv4 di bagian wireless LAN adapter WIFI. biasanya berada di bagian akhir dari perintah ipconfig di atas.
setup laravel app agar http request dapat dilakukan dari app yang berbeda dalam satu jaringan sudah selesai. untuk memastikan semua berjalan lancar harusnya di cors setting laravel app dapat di lihat di folder config/cors.php. seharusnya secara default sudah benar dan tampak seperti di bawah ini. jika sudah sama harusnya sudah benar karena konfigurasi cors di bawah ini adalah agar laravel app di lokal komputer kita dapat menerima http request dari aplikasi lain.
setelah project laravel berjalan dengan menggunakan alamat ip komputer sebagai url nya, selanjutnya kita hanya perlu menggunakan url tersebut di dalam projek react native.
saya di sini menggunakan framework react native yaitu expo. di expo bisa menggunakan .env dengan prefix EXPO_PUBLI_* untuk menyimpan base API url nya.
env-file
EXPO_PUBLIC_API_URL=http://192.168.1.234:8000/api
jadi penggunaan url api ini dapat dipanggil di project react native dengan mudah.
cukup sekian bagaimana saya menyembuhkan penyakit ubuntu saya tidak bisa menambahkan ppa repository. kenapa saya bilang penyakit?.
ini karena sebelumnya saya sudah memfix problem ini tapi saya lupa apa solusinya karena saya pakai berbagai cara dan tiba tiba bener aja.
tapi setelah update ubuntu yang lumayan besar (sekitar 600mb, ini karena ada chrome anjer), tiba-tiba saya tidak bisa menambahkan ppa repository saya.