0
0
0
share
#Python#Android#programmer#webdevelopment
0 Komentar
Mengintip Teknologi Dibalik KelasKita
Siapa yang tak mengenal kelaskita.com? Situs yang bergerak dibidang teknologi pendidikan ini menyediakan sarana belajar dan mengajar secara online dan interkatif bersama peserta didik, teman, komunitas, bahkan dunia. Saat ini telah tersedia 147 kelas publik dan privat serta 178 tes. Kesuksesan kelaskita saat ini merupakan buah cucuran keringat dari sang pendiri, Bang Ali.
[caption id="attachment_5620" align="aligncenter" width="600"] Tampilan kelaskita.com[/caption]
Bang Ali yang bernama lengkap Ali Kusnadi merupakan programmer berbakat lulusan IAIN Cirebon. Selain itu Bang Ali juga seorang pendukung Free and Open Source Software dengan berkontribusi sebagai penerjemah dibeberapa proyek open source seperti Ubuntu, GIMP, Inkscape, dan Blankon Linux. Sebelum memfokuskan segenap perhatian, waktu, dan energinya untuk mengembangkan kelaskita, Bang Ali pernah bekerja di beritacerbon.com dan PT Woolu Aksaramaya. Selain itu Bang Ali juga pernah menjadi seorang freelancer sebelum bekerja di PT Woolu Aksaramaya.
[caption id="attachment_5621" align="aligncenter" width="600"] Bang Ali Kusnadi[/caption]
Bermula saat diminta dosen kenalannya untuk menyiapkan Moodle (platform elearning open source yang cukup populer), Bang Ali terinspirasi untuk mengembangkan aplikasi web sendiri yang bisa mempermudah orang lain untuk belajar maupun mengajar secara online. Akhirnya pada bulan Desember tahun 2012, kelaskita telah dapat diakses. Meskipun telah dapat diakses, karena pada saat itu masih sibuk bekerja, proyek pembuatan kelaskita masih belum begitu berkembang. Oleh sebab itu, setelah dua tahun mengembangkan kelaskita, Bang Ali merasa harus memfokuskan segenap perhatian, waktu dan energinya agar kelaskita semakin maju. Pada tahun 2014, Bang Ali keluar dari PT Woolu Aksaramaya dan bekerja fulltime di kelaskita.
Setelah tiga tahun membantu mencerdaskan bangsa, kelaskita telah memiliki 5 orang pengembang utama yang terdiri atas:
- Backend developer 2 orang
- Frontend developer 1 orang
- Desainer 1 orang
- Android developer 1 orang
Selain Python, bahasa pemrograman lain yang digunakan kelaskita adalah JavaScript. Agar lebih interaktif, tentu JavaScript akan sangat diperlukan oleh kelaskita. Dibagian backend, kelaskita menggunakan Nodejs yang mana programnya ditulis dalam bahasa pemrograman JavaScript.
Untuk masalah penyimpanan data, kelaskita menggunakan MongoDB. MongoDB merupakan aplikasi basis data open source berbasis dokumen. Berbasis dokumen karena MongoDB tidak menyimpan datanya dalam bentuk tabel-tabel yang berelasi melainkan kedalam dokumen yang disebut dengan BSON. Selain MongoDB, kelaskita juga menggunakan Redis. Namun, jika MongoDB digunakan untuk menyimpan data-data yang digunakan oleh peserta, maka Redis bersama dengan Memcached digunakan untuk menyimpan data sementara kelaskita agar tidak terjadi permintaan yang berlebihan ke server utama.
Karena memiliki pengguna yang cukup besar, kelaskita memiliki ribuan pesan yang mengantri untuk dikirimkan. Setiap kelas yang dibuka diikuti oleh ratusan orang. Anggap saja satu kelas diikuti oleh 100 orang dan saat ini terdapat 147 kelas, maka untuk notifikasi terkait pengumuman untuk setiap kelas setidaknya akan ada 14.700 pesan yang mengatri untuk diatur pengirimannya. Untuk mengatur hal ini, kelaskita menggunakan RQ.
Sebagai sebuah aplikasi web, tentu kelaskita membutuhkan web server. Untuk yang satu ini, kelaskita memilih Ubuntu beserta Gunicorn dan Nginx. Pemilihan Ubuntu mungkin tidak terdengar aneh karena sistem operasi besutan Canonical ini telah memiliki reputasi sebagai sistem operasi yang handal baik di desktop maupun server. Gunicorn merupakan Python WSGI HTTP Server, aplikasi yang secara khusus digunakan untuk web framework yang dibuat dengan Python seperti Django, Flask, web2py, dll. Nginx sendiri merupakan HTTP Server berukuran kecil yang sangat handal, namun Nginx tak hanya sekedar HTTP Server. Nginx juga dapat digunakan sebagai reverse proxy untuk protokol HTTP, HTTPS, IMAP, SMTP, POP3, bahkan dapat digunakan sebagai load balancer dan HTTP Cached.
Tidak mudah untuk mengembangkan aplikasi web yang kompleks seperti kelaskita. Tim pengembang kelaskita pun pernah mengalami berbagai kesulitan, contohnya saat membuat fitur realtime notification dan sistem cache. Setelah beberapa tahun, kesulitan tersebut bertambah, misalnya bagaimana kelaskita mengirimkan notifikasi secara realtime kepada 5.000 peserta suatu kelas, atau bagaimana kelaskita mengirim email ke 50.000 peserta yang terdaftar? Terkadang kelaskita harus menulis ulang query bahkan apps-nya jika terdapat bagian-bagian yang sudah tidak optimal lagi saat digunakan oleh ribuan peserta.
Saat ini kelaskita sedang mengembangkan aplikasi Android agar pengguna dapat belajar di kelaskita melalui smartphone kapanpun dan dimanapun. Layaknya beberapa startup lain, kelaskita juga mengalami kesulitan saat mencari Android developer. Butuh waktu hingga tiga bulan untuk menemukan programmer yang dianggap memenuhi kriteria untuk mengembangkan kelaskita. Sulitnya meyakinkan calon programmer bahwa proyek yang sedang dikerjakan bisa sukses dimasa depan merupakan alasan utama mengapa kelaskita membutuhkan waktu tiga bulan untuk menemukan orang pilihannya.
Dengan lahirnya kelaskita, Bang Ali berharap dapat membantu lebih banyak orang yang ingin belajar maupun ingin mengajar. Selain itu, Bang Ali juga berharap agar kelaskita dimasa yang akan datang dapat sedikit membantu mencerdaskan Indonesia dan memberi inspirasi untuk teman semua, supaya bisa membuat karya yang bermanfaat bagi masyarakat.
[caption id="attachment_5622" align="aligncenter" width="600"] Belajar materi kuliah yaang ga itu-itu aja di kelaskita.com[/caption]
(bas)
0
0
0
share