Teknologi Dibalik Lahirnya Kelas AI
Semua apa-apa yang kalian lihat, nikmati dan pelajari, dimulai dengan tiga buah kata sakral: laravel new kelas-ai. Meskipun nama proyeknya adalah 'Kelas AI', namun proyek ini sejatinya dibuat dengan menggunakan bahasa pemrograman PHP. Tepatnya menggunakan framework Laravel. Artikel ini akan menjelaskan secara rinci teknologi apa saja yang digunakan dalam pembuatan proyek 'Kelas AI'.
Laravel + Livewire
Seperti yang sudah disampaikan sebelumnya, proyek ini dibuat menggunakan bahasa pemrograman Laravel. Kebetulan ketika proyek ini dimulai, laravel baru saja merilis versi ke-10. So, proyek ini dibuat menggunakan Laravel-10. Laravel sendiri merupakan framework (kerangka kerja) dari bahasa pemrograman PHP. Biasanya laravel digunakan untuk membuat sebuah website fullstack skala besar yang membutuhkan kemampuan tinggi serta dapat diandalkan bagi pengembang PHP. Selain pada webite utama, laravel juga digunakan sebagai framework API.
Untuk melengkapi keandalan Laravel, dalam perkembangannya digunakan library Livewire. Pada mulanya, proyek 'Kelas AI' menggunakan Livewire 2. Namun pada pengembangannya kemudian Livewire 3 rilis dan keseluruhan framework diganti. Livewire 3 mendukung antar-muka single page dan fitur-fitur lainnya yang membuatnya lebih ramah bagi pengguna. Livewire memang didesain sebagai alternatif single page tanpa menggunakan Javascirpt. Artinya kalian dapat berpindah dari halaman satu ke halaman lain, melakukan validasi, hingga melakukan pencarian data secara realtime tanpa harus loading untuk berpindah page. Semua itu telah didukung dalam Livewire 3.
Materialize CSS
Kalau tadi sudah membahas framework untuk membuat SPA nya, sekarang mari kita bahas framework css nya. Kelas AI menggunakan Materialize sebagai framework css. Kurang lebih sama lah dengan bootstrap. Tapi gue lebih sukak aja sama materialize. Kalau kalian mau belajar lebih jauh tentang apa itu materialize dan bagaimana menggunakannya, kalian bisa ikuti link berikut:
Next: Pelajari Dokumentasi Materialize CSS disini
MySQL
Database pada Kelas AI menggunakan MySQL. Ya cocok lah ya dengan pasangannya laravel. MySQL sendiri adalah sebuah platform database yang menggunakan baris perintah (query) untuk melakukan pengolahan data. Namun hampir sebagian besar query yang ada tidak kami gunakan dalam pembuatan proyek ini. Hal ini dikarenakan Laravel sudah mendukung berbagai fitur koneksi dan tata-kelola database seperti: pembuatan dan pengolahan tabel, CRUD, relation, seeder, model, relasi bersarang, dan bahkan membuat data palsu sebagai bahan pengujian yang kita sebut sebagai 'faker'.
Mailgun
Yup, saya pikir anda semua sudah tau ini. Fitur mailing yang ada pada Kelas AI dibuat dengan menggunakan library pihak ketiga, yaitu mailgun. Mailgun sendiri memungkinkan kita untuk mengirim email kepada user tertentu secara programatic. Kalau kalian mau kenalan lebih jauh dengan Mailgun, kalian bisa klik link berikut dibawah ini:
Next: Pelajari Tentang Mailgun disini
Jika kalian ingin mempelajari dokumentasi PHP Mailgun dari github, kalian bisa lihat dokumentasi resmi PHP nya ada pada link berikut:
Next: Dokumentasi Mailgun PHP disini
Midtrans
Untuk menerima dan mengelola pembayaran, kami menggunakan third party Midtrans. Midtrans sendiri adalah aplikasi gerbang pembayaran (payment gateway) yang memungkinkan user untuk melakukan pembayaran dengan berbagai macam metode dan berbagai macam bank. Midtrans merupakan bagian dari GOTO Group. Bukan karena bangga buatan indonesia, tapi karna memang sudah familiar saja. Haha. Bagi kalian yang mau liat-liat lebih jauh tentang midtrans, kalian bisa pelajari melalui link berikut:
Next: Pelajari Tentang Midtrans disini
Jika kalian ingin mempelajari dokumentasi PHP Midtrans dari github, kalian bisa lihat dokumentasi resmi PHP nya ada pada link berikut:
Next: Dokumentasi Midtrans PHP disini
AWS S3
Lalu bagaimana dengan penyimpanan library dan media? Kelas AI menyimpannya menggunakan Amazon Simple Storage Service (AWS S3). AWS S3 sendiri adalah layanan yang ditawarkan oleh Amazon Web Services yang menyediakan penyimpanan objek melalui antarmuka layanan web yang juga dapat dipanggil secara programatik dengan menggunakan PHP.
Miscellaneous
Selain library dan framework diatas, Kelas AI juga menggunakan berbagai library lain sebagai pendukung, antara lain: carbon untuk mengolah data datetime, dirape token untuk mengelola token dan membuat token acak dan jquery sebagai library javascript tambahan.
Kurang lebih, inilah teknologi-teknologi yang kami pakai di Kelas AI. Tertarik mempelajarinya?