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:
| Field | Requirement |
|---|---|
| Full Name | Your display name (shown on your profile) |
| Email Address | A valid email you have access to |
| Password | Minimum 6 characters |
| Confirm Password | Must 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
- A 5-digit OTP is generated in memory (
AuthProvider.initiateRegistrationOtp) - The OTP is emailed via the Node.js SMTP relay server
- On correct OTP entry,
FirebaseAuth.createUserWithEmailAndPasswordis called - A user document is created in Firestore at
users/{uid} - Session data is persisted in
SharedPreferencesfor fast app restarts - A Welcome email is dispatched
Troubleshooting
| Problem | Solution |
|---|---|
| "Email already in use" | An account with this email already exists. Try logging in or use password reset. |
| OTP expired/wrong | Tap "Resend Code" to get a fresh OTP |
| No email received | Check spam, or check the Flutter debug console for the OTP code |