Saya
mendapat tugas untuk membuat applikasi online quiz. Tugas ini diberikan sebagai
tugas untuk promosi jabatan ke bagian research and development. Applikasi online
quiz ini dibuat dengan beberapa ketentuan, yaitu harus dibuat dengan node.js
sebagai applikasi server yang meyediakan layanan jasa online quiz, mongodb
sebagai applikasi database yang bersifat “Document Object Model” untuk
menyimpan data-data yang diperlukan applikasi, dan penggunaan html5 dan css3
untuk mengatur tampilan yang akan dilihat oleh user yang menggunakan applikasi.
Ruang
linkup dari aplikasi ini dibatasi. Untuk
user dengan peran admin, maka admin dapat menambahkan pertanyaan pada kuis
tertentu, dapat membuat jadwal kuis baru dan juga dapat menambahkan user baru
kedalam system. Untuk user dengan peran peserta, maka peserta dapat mengikuti
kuis yang sedang berlangsung jika perserta tersebut terdaftar dalam ujian
tersebut.
Kesulitan
dari pembuatan aplikasi online kuis ini terletak pada penggunaan
teknologi-teknologi baru yang belum sering digunakan. Namun pada sisi lain,
teknologi ini mempunyai keuntungan-keuntangan seperti aplikasi server yang
mempunyai karakteristik non blocking IO pada sisi server, juga model database
yang schemaless, yaitu database yang mampu menampung data dengan schema yang
tidak pasti.
Selama
pembuatan aplikasi ini saya belajar banyak hal. Saya belajar untuk mengitegrasikan
teknologi-teknologi tersebut yang disebut juga dengan istilah MEAN (Mongodb,
Express js, Angular js, Node js). Serta saya belajar untuk menggunakan
library-library yang sudah ada untuk mendukung dan mempercepat pembuatan
aplikasi, seperti menggunakan library directive untuk angular js utuk upload
file, datetime picker. Juga untuk sisi server node js, yaitu library untuk
parsing request berupa file, serta library mongoose untuk mapping model dari
nodejs ke mongodb sehingga akses ke database lebih mudah.
Selama saya megerjakan tugas ini, saya belajar juga dari
referesi-refrensi di internet sebagai acuan. Berikut adalah link refrensi yang
saya gunakan:
·
http://uncorkedstudios.com/blog/multipartformdata-file-upload-with-angularjs
·
https://github.com/danialfarid/angular-file-upload
·
http://stackoverflow.com/questions/17470790/how-to-use-a-keypress-event-in-angularjs
·
https://github.com/adamalbrecht/ngQuickDate