Creating Your Account

How to register on BabyShopHub with email OTP verification.

Creating Your Account

BabyShopHub uses a two-step email verification process to ensure every new account is secure before it's created. Your email is verified with a One-Time Password (OTP) before your account is ever written to the database.


Step 1 — Open the App

When you first launch BabyShopHub, you will see the Splash Screen followed by the Welcome Screen. Tap "Get Started" or "Create Account" to begin registration.


Step 2 — Enter Your Details

On the Register Screen, fill in:

FieldRequirement
Full NameYour display name (shown on your profile)
Email AddressA valid email you have access to
PasswordMinimum 6 characters
Confirm PasswordMust match the password field

Tap "Send Verification Code" when done.


Step 3 — Verify Your Email (OTP)

BabyShopHub sends a 5-digit One-Time Password to your email address via our secure SMTP relay. Check your inbox (and spam/junk folder) for an email from BabyShopHub with the subject:

"Verify Your Email - BabyShopHub OTP"

Can't find the email? The OTP email is dispatched instantly. If it doesn't arrive within 2 minutes, check your spam folder. During development/local testing, the OTP is also printed in the Flutter debug console.

On the OTP Screen, enter the 5-digit code and tap "Verify & Create Account".


Step 4 — Welcome Email

Once verified, your account is created and a Welcome Email is sent to you from BabyShopHub confirming your registration.

You are then automatically logged in and taken to the Home Screen.


Admin Accounts

If your email address contains the word admin (e.g. shopAdmin@example.com), your account is automatically assigned the admin role, which gives access to the full Admin Panel. All other emails receive the standard user role.


What Happens Behind the Scenes

  1. A 5-digit OTP is generated in memory (AuthProvider.initiateRegistrationOtp)
  2. The OTP is emailed via the Node.js SMTP relay server
  3. On correct OTP entry, FirebaseAuth.createUserWithEmailAndPassword is called
  4. A user document is created in Firestore at users/{uid}
  5. Session data is persisted in SharedPreferences for fast app restarts
  6. A Welcome email is dispatched

Troubleshooting

ProblemSolution
"Email already in use"An account with this email already exists. Try logging in or use password reset.
OTP expired/wrongTap "Resend Code" to get a fresh OTP
No email receivedCheck spam, or check the Flutter debug console for the OTP code

On this page