PPB - Authentication

Pada pertemuan kali ini saya diberi tugas untuk membuat sebuah Aplikasi Autentikasi Registrasi dengan menggunakan OTP. Untuk implementasinya adalah seperti berikut ini

Aplikasi ini mengikuti proses registrasi dan login dengan verifikasi OTP sebagai berikut:

LoginScreen.kt

  • Tampilan awal saat aplikasi dibuka.

  • User bisa login atau menekan tombol "Daftar Akun Baru" untuk masuk ke proses registrasi.

RegisterScreen.kt

  • Form pendaftaran berisi: Email, Password, Konfirmasi Password, Nomor HP, dan checkbox persetujuan.

  • Setelah validasi, data dikirim ke MainActivity, lalu OTP digenerate dan dikirim.

OTPVerificationScreen

  • Menampilkan input 6 digit OTP yang dikirim ke nomor HP.

  • Verifikasi OTP secara otomatis ketika 6 digit sudah dimasukkan.

  • Jika OTP valid → lanjut ke pengisian data diri (PersonalDataScreen).

PersonalDataScreen

  • Form data diri: Nama Lengkap, Tanggal Lahir, Provinsi, Kota.

  • Setelah data valid, user dianggap terdaftar dan terverifikasi.

WelcomeScreen

  • Halaman sambutan setelah registrasi atau login berhasil.

  • Menampilkan nama dan data user + manfaat menjadi member Starbucks.

  • Tombol “Mulai Berbelanja” untuk kembali ke login atau lanjut ke fitur utama.

MainActivity

File utama yang menyimpan state dan alur navigasi antar screen.

  • OTPApp() menyimpan semua state (registerData, personalData, user, dll).

  • Mengatur flow antar screen:

    • Login → Register → OTP → Personal Data → Welcome

    • Welcome → Login lagi bila diperlukan

DataModels

Berisi:

  • RegisterData, PersonalData, User: menyimpan data dari form.

  • AppScreen: untuk menyimpan nama-nama halaman.

  • IndonesiaData: daftar provinsi dan kota.

UIComponents

Komponen UI yang dapat digunakan ulang:

  • StarbucksTextField, StarbucksButton, StarbucksOutlinedButton

  • OTPInputField: custom input untuk OTP

  • StarbucksHeader dan StarbucksLogo: header dan logo

Berikut adalah Tampilan dari aplikasi tersebut



Berikut adalah demo dari aplikasi yang saya buat

Dan berikut adalah github codenya : arilimata/PPB-Auth


Komentar

Postingan populer dari blog ini

PPB - Membuat Aplikasi Sederhana dengan Jetpack Compose

PPB - Infografis Teknologi Perangkat Bergerak

PPB - Membuat Aplikasi Kalkulator