Accessing Settings
Open navigation menu
Tap the menu icon (three horizontal lines) in the top-left corner of the home screen.
Profile Information
Update your personal information to help drivers and support identify you.Profile Fields
Display Name
Your name shown to drivers and in chats
About Me
Optional description or bio
Profile Photo
Your avatar displayed in the app
Phone Number
Contact number (set during authentication)
Updating Your Profile
Edit your display name
Tap the name field and enter your preferred display name. This is what drivers will see when communicating with you.
Update About Me (optional)
Add a brief description about yourself or any relevant information for drivers (e.g., “Frequent construction material buyer”).
Change profile photo
- Tap the camera icon or your current photo
- Select “Choose from gallery” to pick an image
- The photo will be uploaded to Firebase Storage
- Your new photo will appear in chats and your profile
Profile information is stored in Firebase and synchronized across all your devices. Changes appear immediately in active chats.
Order Preferences
Configure default settings for your orders to speed up the ordering process.Default Unit Preference
Choose your preferred measurement unit for orders:- Tonne
- Truck
- Orders specified by weight in tonnes
- More precise for exact quantities
- Default setting: Tonne
- Common for bulk material orders
- Open Settings page
- Find the “Unit” dropdown
- Select either “Tonne” or “Truck”
- Preference is saved to SharedPreferences
- This becomes your default when creating new orders
Material Quality Preference
Set your preferred sand quality:- Fine sand: For plastering, finishing work
- Coarse sand: For concrete mixing, construction base
- Locate the “Quality” dropdown in Settings
- Select either “Fine” or “Coarse”
- Your preference is saved locally
- New orders will default to this quality
These preferences are stored locally on your device using SharedPreferences and will default each time you create a new order. You can still change them per order.
Profile Photo Management
Your profile photo is displayed in chats, order history, and to drivers.Uploading a Photo
lib/settings.dart:81-110
- Image selection: Pick from your device gallery
- Firebase Storage upload: Image stored with your user ID as filename
- URL retrieval: Get the download URL from Firebase
- Database update: URL saved to both Realtime Database and Firestore
- Local cache: URL stored in SharedPreferences for offline access
Data Storage
Settings data is stored in multiple locations for reliability:| Setting | Storage Location | Purpose |
|---|---|---|
| Display Name | Firestore, RTDB, SharedPreferences | Profile identification |
| About Me | Firestore, RTDB, SharedPreferences | Profile description |
| Photo URL | Firebase Storage, RTDB, Firestore | Profile image |
| Unit Preference | SharedPreferences | Local order default |
| Quality Preference | SharedPreferences | Local order default |
| Phone Number | Firebase Auth, SharedPreferences | Authentication |
Why multiple storage locations?
Why multiple storage locations?
- Firestore: Used for chat features and real-time messaging
- Realtime Database: Used for order management and driver coordination
- SharedPreferences: Local caching for offline access and quick loading
- Firebase Storage: Secure cloud storage for images
Privacy and Security
What’s Visible to Others
Visible to Drivers
- Display name
- Profile photo
- Phone number (when you place an order)
- Chat messages
Private Information
- About me (only visible to you)
- Order history
- Payment information
- Location (except during active delivery)
Changing Your Privacy
While you can’t make your name completely private (needed for orders), you can:- Use a nickname instead of your full legal name
- Upload a neutral profile photo or no photo
- Limit information in your “About Me” field
- Contact support to delete your account data
Troubleshooting
Profile photo not updating
Profile photo not updating
- Check your internet connection
- Ensure the image file is under 5MB
- Try a different image format (JPG or PNG)
- Verify Firebase Storage is configured correctly
- Close and reopen the app
Settings not saving
Settings not saving
- Confirm you have a stable internet connection
- Check that you’re logged in
- Try logging out and back in
- Clear app cache and try again
- Contact support if the issue persists
Can't change phone number
Can't change phone number
Phone numbers are tied to your authentication and cannot be changed in Settings. To use a different number:
- Log out of your current account
- Sign up with a new phone number
- This creates a new account (old data won’t transfer)
Default preferences not applying
Default preferences not applying
- Verify you saved the changes (no explicit save button - auto-saves on selection)
- Check SharedPreferences wasn’t cleared
- Try setting the preference again
- Restart the app to reload preferences
Best Practices
Use a Clear Photo
A recognizable profile photo helps drivers identify you during delivery
Set Accurate Defaults
Configure your most common order preferences to save time
Keep Info Current
Update your display name if it changes to avoid confusion
Test Changes
After updating settings, create a test order to verify defaults work
Next Steps
Update Profile Photo
Upload a new photo to personalize your account
Place an Order
Use your new settings to place an order
Get Help
Contact support if you have settings issues
Customize Theme
Developers: Learn to customize app colors