Bukan aplikasi web namanya jika tidak menyediakan fitur untuk mendaftarkan akun pengguna. Apalagi jika proses pendaftaran pengguna itu tidak bersifat fleksibel dan tidak menyediakan beberapa pilihan yang paling sering digunakan.
Sampai sejauh ini, saya mengamati ada tiga pilihan business logic dalam suatu siklus pendaftaran pengguna yang seharusnya layak tersedia di sebuah aplikasi web:
- Akun Pengguna tidak butuh aktivasi
- Aktivasi Akun Pengguna dilakukan oleh Pengguna sendiri
- Aktivasi Akun Pengguna dilakukan oleh Admin
Akun Pengguna tidak butuh aktivasi
Proses ini adalah yang paling cepat dan sederhana, karena begitu akun pengguna selesai didaftarkan, maka mereka bisa langsung login tanpa membutuhkan proses aktivasi. Pendaftaran di sini bisa dilakukan oleh pengguna itu sendiri maupun oleh Admin.
Aktivasi Akun Pengguna dilakukan oleh Pengguna sendiri
Setelah pengguna mendaftarkan akunnya, maka sistem akan mengirim email yang berisi informasi akun ke pengguna tadi. Di dalam email ini ada link yang harus diklik oleh pengguna untuk mengaktifkan akunnya. Setelah link diklik, maka akun pengguna menjadi aktif, dan pengguna dapat login ke sistem.
Aktivasi Akun Pengguna dilakukan oleh Admin
Pilihan ini mirip dengan pilihan kedua di atas. Bedanya adalah, email yang dikirim oleh sistem terdiri dari dua. Email pertama berisi informasi akun pengguna, sedangkan email kedua berisi informasi bahwa akun pengguna sudah berhasil diaktifkan oleh pengguna yang memiliki level Admin. Email pertama diterima oleh pengguna sesaat setelah mereka berhasil mendaftarkan sendiri akunnya (tidak ada link aktivasi di email pertama). Email kedua diterima oleh pengguna setelah Admin berhasil mengaktifkan akun pengguna tersebut.
Tentu ketiganya tidak harus diterapkan sekaligus di dalam sebuah aplikasi berbasis web. Tergantung kebutuhan di aplikasi yang Anda kembangkan. Meskipun demikian, alangkah baiknya jika di aplikasi web yang kita bangun sudah bisa mengakomodir ketiga pilihan tadi. Dan alangkah lebih baik lagi jika sewaktu-waktu Admin bisa mengaktifkan pilihan yang lainnya jika sewaktu-waktu dibutuhkan tanpa harus mengubah atau menulis ulang kode sumber aplikasi.
Bagaimana dengan aplikasi web yang Anda kembangkan? Sudahkah Anda siap untuk mengakomodir ketiga pilihan di atas jika sewaktu-waktu client Anda membutuhkan fitur tersebut? Atau, apakah Anda memiliki business logic lainnya selain dari ketiga pilihan di atas? 🙂
Tinggalkan Balasan