Splync v1.0 ke Splync v1.1
Saat Anda mendaftar untuk Splync, Anda diminta memasukkan alamat email dan kata sandi. Seperti yang telah saya perkenalkan di artikel sebelumnya, Splync v1.0 sudah menyertakan langkah-langkah keamanan dasar. Transfer data Anda dilindungi oleh HTTPS. Server kami diamankan dengan SSH sehingga tidak ada yang dapat mengaksesnya kecuali pengembang. Kata sandi Anda tidak pernah disimpan dalam teks biasa tetapi di-hash dalam database sehingga tidak ada yang dapat mendekodekannya. Namun, rahasia dari v1.0 adalah tidak adanya verifikasi email dalam proses pembuatan akun. Splync, sebagai MVP (Minimum Viable Product), dirilis tanpa fitur ini karena aplikasi masih dalam tahap di mana hanya teman-teman saya yang tahu keberadaannya. Pada v1.0, aplikasi hanya memeriksa apakah email yang dimasukkan mengandung “@” di antara rangkaian huruf dan apakah itu unik di antara akun yang ada.
Apa yang Terjadi Jika Tidak Ada Verifikasi Email
Jika sebuah aplikasi memungkinkan pengguna membuat akun tanpa memverifikasi identitas mereka, mudah membayangkan seseorang menggunakan alamat email orang lain untuk membuat akun mereka sendiri. Itulah yang bisa terjadi. Meskipun ini tidak berarti data Anda akan bocor, ini berarti Anda tidak dapat mendaftar dengan alamat email Anda sendiri jika sudah digunakan. Selain itu, seseorang bisa membuat akun menggunakan alamat email fiktif sepenuhnya. Ini mungkin tidak tampak serius pada awalnya, tetapi akan menjadi bencana ketika pengembang mencoba menagih atau menghubungi pengguna tersebut nanti. Saya bahkan tidak akan tahu siapa orang itu sebenarnya! Jadi, verifikasi email adalah langkah selanjutnya untuk Splync.
Cara Kerja Verifikasi Email
Di Splync v1.1, ketika pengguna baru mendaftar, aplikasi secara otomatis mengirim email ke alamat yang dimasukkan. Email ini berisi tautan verifikasi unik yang dibuat otomatis. Dengan mengklik tautan itu, pengguna mengonfirmasi bahwa mereka benar-benar memiliki akses ke akun email tersebut. Setelah diverifikasi, server mengaktifkan akun pengguna dan menyimpannya di database sebagai pengguna yang valid dan terautentikasi. Kedengarannya familiar, bukan? Proses ini memastikan bahwa setiap akun di Splync dimiliki oleh orang yang nyata dan dapat dihubungi — langkah kecil tetapi penting menuju membangun komunitas yang dapat dipercaya. Mari kita lihat lebih dekat bagaimana alur ini diimplementasikan dari perspektif teknis.
Implementasi Teknis Verifikasi Email
Backend Splync menggunakan Python/FastAPI, dan aplikasi mobile dibangun dengan SwiftUI. Aplikasi hanya menangani antarmuka pengguna, sementara logika verifikasi dan kredensial sensitif tetap aman di server. Di v1.1, kami menambahkan langkah verifikasi email standar antara "pengguna tidak terverifikasi" dan "pengguna terverifikasi." Ketika pengguna baru mendaftar, aplikasi mengirimkan data yang dimasukkan ke server. Server memiliki database MariaDB. Ini menyimpan pengguna sebagai tidak terverifikasi di database. Kata sandi di-hash dan disimpan, tetapi akun belum aktif. Pada saat itu, server juga menghasilkan token verifikasi unik dengan waktu kedaluwarsa. Selanjutnya, menggunakan server SMTP (Simple Mail Transfer Protocol), server mengirim email verifikasi yang berisi tautan satu kali yang aman. Ketika pengguna membuka tautan, server memeriksa bahwa token valid dan tidak kedaluwarsa. Setelah diverifikasi, akun menjadi aktif, dan pengguna dapat masuk secara normal dari aplikasi. Ini menjaga otentikasi tetap aman dan ringan.
Python? FastAPI? SwiftUI? SMTP? MariaDB
Jika ini terdengar seperti kode rahasia, jangan khawatir — ini hanyalah alat yang membuat sistem bekerja bersama. Anggap alur pendaftaran Splync seperti pusat dukungan pelanggan yang memverifikasi identitas seseorang. "Bolehkah saya tahu nama dan alamat email Anda?" tanya SwiftUI, operator ramah di meja depan. Anda memberitahunya detail Anda, dan dia berkata, "Bisakah Anda menunggu sebentar?" Dia segera meneruskannya ke FastAPI, sistem telepon internal kantor. FastAPI menghubungkannya ke Python, spesialis back-office yang bertanggung jawab atas verifikasi. Python memeriksa dengan MariaDB, database pelanggan, untuk merekam informasi Anda dengan aman — menandai status Anda sebagai "tidak terverifikasi." Kemudian Python meminta SMTP, pengirim pesan eksternal, untuk mengirim email konfirmasi dengan tautan aman. Saat Anda mengklik tautan, Python memverifikasi bahwa itu valid dan memperbarui catatan Anda di MariaDB menjadi "terverifikasi." Akhirnya, FastAPI memberi tahu operator bahwa identitas Anda telah dikonfirmasi, dan akun Anda sekarang aktif. Bersama-sama, bagian-bagian ini membuat proses verifikasi Splync menjadi manusiawi dan aman.
Langkah Selanjutnya dalam Perjalanan Keamanan Splync
Verifikasi email mungkin tampak seperti fitur kecil, tetapi ini mengubah segalanya tentang kepercayaan. Ini menandai momen ketika Splync berkembang dari proyek pribadi di antara teman menjadi aplikasi publik di mana siapa pun dapat bergabung dengan percaya diri. Mengirim tautan verifikasi melalui SMTP bahkan terasa seperti jabat tangan pertama Splync dengan pengguna baru. Di balik layar, fitur ini meletakkan dasar untuk peningkatan di masa depan — pengaturan ulang kata sandi, otentikasi multi-faktor, dan pemulihan akun. Setiap lapisan keamanan dibangun di atas yang sebelumnya. Dengan verifikasi email, Splync v1.1 mengambil langkah berarti ke depan — menjadikan manajemen pengeluaran bersama tidak hanya nyaman, tetapi benar-benar dapat diandalkan.