Seperti yang sudah saya singgung sebelumnya dalam pos Membuat API dengan Micro-framework Lumen, saya menggunakan sistem operasi berbasis Linux untuk pengembangan. Arch Linux lebih tepatnya.
- Membuat API dengan Micro-framework Lumen
- Tool dan Perangkat Lunak yang Digunakan
- Mengatur Pangkalan Data (Database)
- Membuat Migration untuk Tabel User
- Menentukan Path, Kode Status, Header, Query String, dan Format Data
- Membuat Feature Test
- Future post: Membuat Controller Operasi CRUD & Route untuk User
- Future post: Validasi Input
- Future post: Menangangi Kesalahan dan Menampilkan Pesan
- Future post: Autentikasi API dengan Token
- Future post: Otorisasi Pengguna
- Future post: Meningkatkan Performa dengan Data Caching (Cache)
- Future post: Menggunakan Fitur Queue (Antrian) untuk Proses Asynchronous
Tak ketinggalan, paling penting adalah PHP dan Composer. Ketika menggunakan PHP, maka Composer merupakan tool yang harus ada sebagai dependency manager. Menginstal dan menghapus package di PHP jauh lebih mudah dengan Composer.
Sampai di sini, kalian sebenarnya sudah dapat menjalankan aplikasi web berbasis PHP, tanpa harus direpotkan untuk instalasi perangkat lunak tambahan seperti web server (Apache, Nginx, Caddy, dan lain sebagainya).
Baca juga: Menjalankan Aplikasi PHP Menggunakan Built-in Web Server.
Untuk manajemen pangkalan data (database), kalian membutuhkan MariaDB atau MySQL. Pilih yang dukungannya paling bagus untuk sistem operasi yang digunakan. Apabila MariaDB atau MySQL sudah terinstal di mesin lokal, jangan lupa untuk menginstal ekstensi PHP untuk menggunakan driver pangkalan data tersebut.
Selain perangkat lunak inti, kalian tentunya juga membutuhkan perangkat lunak tambahan (atau dengan nama lain: tool) yang dapat meningkatkan produktivitas dalam pengembangan aplikasi. Berikut beberapa rekomendasi tool yang akan saya gunakan selama membuat tutorial pengembangan API menggunakan Lumen.
Sublime Text
Perangkat lunak ini, pada dasarnya hanya teks editor. Tapi dengan beberapa kustomisasi, kalian dapat memanfaatkannya untuk editor skrip PHP. Apalagi dengan dukungan plugin, kalian dapat menyesuaikan tema serta plugin pendukung untuk meningkatkan kecepatan dalam pengembangan.
Sublime teks pada dasarnya teks editor berbayar. Namun, kalian dapat mengunduh dan men menggunakannya dengan lisensi trial (hampir) selamanya. Tapi, jangan protes ketika di tengah jalan menggunakan perangkat lunak ini, kalian bakal lebih sering mendapati pop-up untuk mengaktivasi lisensi.

Sublime Text
Teks editor alternatif yang dikembangkan untuk developer adalah Atom dan Visual Studio Code. Keduanya dikembangkan dengan basis Electron, dan Electron dikenal cukup kurang bersahabat dengan sumber daya komputer tua. Perbedaan performanya cukup jauh jika dibandingkan dengan Sublime Text, lebih ringan ketika dijalankan.
Insomnia
Dalam pengembangan API, pada dasarnya kita tidak butuh peramban web (web browser). Ya, kita butuh untuk browsing web lain, tapi tidak untuk ujicoba API.
Di browser, kita bisa mengakses sebuah halaman dengan metode GET dan POST (melalui form), tapi belum bisa mensimulasikan PUT/PATCH dan DELETE sebagai basis Restful API. Oleh karenanya, kita butuh perangkat lunak tambahan untuk melengkapi kekosongan tersebut.
Postman adalah salah satu aplikasi Chrome yang dapat digunakan di Chrome, Chromium, dan Opera. Pengguna Firefox bisa bersedih hati karena tak dapat menggunakan tool bagus ini.
Alternatif, kalian bisa menggunakan perangkat lunak Insomnia yang berbasis Electron. Selain karena kaya akan fitur (layaknya di Postman), Insomnia juga mendukung berbagai sistem operasi berbasis Windows, Linux, dan Mac.

Insomnia Rest
Baca juga: Insomnia – A simple, beautiful, and free REST API client.
***
Tool yang digunakan dalam pengembangan API akan diperbarui seiring bertambahnya pos dan perangkat lunak yang digunakan (jika ada).