Skip to main content
The Settings page allows you to customize your Trackmart experience, update your profile information, and configure default preferences for orders.

Accessing Settings

1

Open navigation menu

Tap the menu icon (three horizontal lines) in the top-left corner of the home screen.
2

Select Settings

Scroll down in the navigation drawer and tap Settings.
3

View your profile

The Settings page displays your current profile information and preferences.

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

1

Edit your display name

Tap the name field and enter your preferred display name. This is what drivers will see when communicating with you.
2

Update About Me (optional)

Add a brief description about yourself or any relevant information for drivers (e.g., “Frequent construction material buyer”).
3

Change profile photo

  1. Tap the camera icon or your current photo
  2. Select “Choose from gallery” to pick an image
  3. The photo will be uploaded to Firebase Storage
  4. Your new photo will appear in chats and your profile
4

Save changes

Changes are automatically saved to both Firebase Realtime Database and Cloud Firestore.
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:
  • Orders specified by weight in tonnes
  • More precise for exact quantities
  • Default setting: Tonne
  • Common for bulk material orders
How to change:
  1. Open Settings page
  2. Find the “Unit” dropdown
  3. Select either “Tonne” or “Truck”
  4. Preference is saved to SharedPreferences
  5. 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
How to change:
  1. Locate the “Quality” dropdown in Settings
  2. Select either “Fine” or “Coarse”
  3. Your preference is saved locally
  4. 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
Future getImage() async {
  File image = await ImagePicker.pickImage(source: ImageSource.gallery);
  if (image != null) {
    setState(() {
      avatarImageFile = image;
      isLoading = true;
    });
  }
  uploadFile();
}
The upload process:
  1. Image selection: Pick from your device gallery
  2. Firebase Storage upload: Image stored with your user ID as filename
  3. URL retrieval: Get the download URL from Firebase
  4. Database update: URL saved to both Realtime Database and Firestore
  5. Local cache: URL stored in SharedPreferences for offline access
Profile photos are publicly visible to drivers you interact with. Don’t upload sensitive or inappropriate images.

Data Storage

Settings data is stored in multiple locations for reliability:
SettingStorage LocationPurpose
Display NameFirestore, RTDB, SharedPreferencesProfile identification
About MeFirestore, RTDB, SharedPreferencesProfile description
Photo URLFirebase Storage, RTDB, FirestoreProfile image
Unit PreferenceSharedPreferencesLocal order default
Quality PreferenceSharedPreferencesLocal order default
Phone NumberFirebase Auth, SharedPreferencesAuthentication
  • 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

  • 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
  • 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
Phone numbers are tied to your authentication and cannot be changed in Settings. To use a different number:
  1. Log out of your current account
  2. Sign up with a new phone number
  3. This creates a new account (old data won’t transfer)
  • 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

Build docs developers (and LLMs) love