Saya sudah cukup lama tidak memperbarui situs ini. Pengunggahnya mendapatkan banyak perhatian, API telah difaktorkan ulang, namun situsnya menjadi sedikit basi. Jadi sekitar sebulan yang lalu saya mulai mencari apa yang bisa saya perbaiki. Salah satu hal besar yang disebutkan pengguna adalah dukungan SSL, karena Anda dapat masuk ke situs dengan nama pengguna/kata sandi. Sayangnya hal ini tidak tersedia pada versi gratis Openshift, yang menghosting API dan situs sejak Nodejitsu dibeli (masih asin). Jadi saya mulai mencari alternatif.

Mencari Tuan Rumah

Tidak terlalu sulit untuk menemukan hosting untuk aplikasi Node (Digital Ocean, Linode, AWS, Google Cloud, Modulus.io, Heroku, Rackspace, dll…), tetapi menemukan host gratis yang menawarkan SSL untuk domain khusus tidaklah mudah. Bahkan dengan sertifikat gratis yang luar biasa dari Let's Encrypt, saya kurang beruntung. Jadi saya melihat apa yang sebenarnya saya lakukan di backend. Saya akan memberi Anda petunjuk: hampir tidak ada.

Hanya itu yang dilakukan server (dikurangi beberapa boilerplate dan penanganan kesalahan). Kembalikan index.html, dan alihkan beberapa rute untuk ditangani Angular. Melihat hal itu, saya mulai bertanya-tanya apakah saya dapat melakukannya tanpa backend sama sekali, dan hanya menyajikan beberapa file statis. Hal ini membawa saya ke Halaman Github, yang sangat sederhana, namun tidak mampu menangani pengalihan. Cacat. Jadi saya terus mencari, dan menemukan Firebase hosting. Saya pernah mendengar tentang Firebase ketika mereka masih merupakan platform aplikasi real-time yang sangat keren, tetapi saya tidak menyadari bahwa Google telah mendorong mereka ke ranah hosting. Dan saya sangat senang mereka melakukannya.

Firebase Luar Biasa

Setelah saya mengeluarkan kode server dan memindahkan beberapa direktori, saya siap untuk beralih. Saya mengambil CLI mereka melalui npm install -g firebase-tools, terhubung ke akun yang baru saya buat, dan saya berangkat. Ini jauh lebih mudah daripada yang saya perkirakan, tapi menurut saya ini adalah layanan dari Google untuk aplikasi satu halaman, jadi lebih baik berfungsi dengan baik, bukan? Dari sana tidak ada lagi yang bisa dilakukan, jadi saya membuat beberapa pembaruan cepat dan mengarahkan next.modwat.ch ke situs firebase baru saya.

Saya akan menulis postingan terpisah untuk menjelaskan semua fitur baru di situs ini, namun saya akan membahasnya dengan cepat di sini. Saya benar-benar mengubah penelusuran di situs dan API. Saya bahkan tidak ingin membicarakan bagaimana saya melakukannya sebelumnya, karena ini mengerikan. Anggap saja itu… tidak efisien. Bagaimanapun, sekarang ini membatasi kumpulan hasil, kueri lebih efisien di bagian belakang, dan pencarian sekarang menjadi bagian dari halaman daftar pengguna, jadi tidak ada lagi modal UI yang kikuk untuk ditangani. Saya juga mengolah ulang menu agar tidak terlalu jelek, dan memperbaiki ukuran header di perangkat seluler. Akhirnya saya memasukkan pekerja layanan untuk menyimpan cache semuanya kecuali panggilan API, sehingga situsnya bagus dan cepat.

Isyarat Waktu Henti

Setelah perubahan UI berhasil dan stabil, saya mengarahkan modwat.ch ke situs baru. Dan kemudian domain saya muncul. Saya telah memperbaruinya beberapa hari sebelumnya, namun tetap dilanjutkan dan memberi saya halaman “Domain ini perlu diperbarui”. Jadi saya pergi dan menangis ke"hover.com" tentang hal itu, dan mereka memberi tahu saya bahwa domain .ch diperbarui dengan cara yang aneh yang berarti domain saya tidak akan berfungsi selama 3 hari. Itu bagus. Jadi saya memposting URL Openshift yang jelek ke reddit dan nexusmods dan berharap itu akan berfungsi lagi.

Isyarat Lakban

Akhirnya domainnya muncul kembali, jadi saya arahkan modwat.ch ke situs firebase saya. Tidak ada dadu. Pada titik ini saya hanya ingin sesuatu berfungsi, jadi saya beralih ke catatan A, bukan CNAME, dan menekan tombol. Setelah beberapa menit saya kembali, dan modwat.ch menunjuk ke situs baru yang mewah. Bukan penerapan terbaik, hanya downtime selama beberapa hari, dan penerapan akhirnya sangat gagal, namun untuk proyek sampingan yang dilakukan oleh pengembang junior, menurut saya ini bukanlah hal terburuk yang pernah terjadi, bukan?

Jadi itu harus menutupinya. Seperti yang saya katakan, saya akan membuat postingan terpisah yang tidak terlalu teknis tentang fitur-fitur baru dan cara menggunakannya. Sampai kemudian periksa modwat.ch dan klik sampai rusak!