What is Trackmart?
Trackmart is a comprehensive delivery management mobile application built with Flutter that enables seamless ordering, real-time tracking, and delivery of goods. The app provides a complete solution for connecting buyers with drivers, managing orders, and tracking deliveries with live map visualization.Trackmart uses Firebase for backend services and Mapbox for advanced mapping and routing capabilities.
Key Features
Order Management
Place orders with customizable quantities, units (Truck/Tonne), and payment methods (Mobile money/Cash)
Real-time Tracking
Track deliveries in real-time with live driver location updates and ETA calculations
Chat System
Communicate directly with drivers through an integrated messaging system
Authentication
Secure authentication via phone number (SMS verification) or email
Architecture Overview
Trackmart follows a modern Flutter architecture with clear separation of concerns:Frontend Layer
Main Entry Point
Main Entry Point
The app initializes through
main.dart with a custom theme and routes to the RootPage for authentication handling.lib/main.dart
Authentication Flow
Authentication Flow
The
RootPage manages authentication state and routes users to either login or the home page:lib/root_page.dart
Home Page Structure
Home Page Structure
The home page features a tabbed interface with three main sections:
- Chats: Message drivers directly
- Request: Create new delivery orders
- Orders: View order history (Requested, In Transit, Delivered)
Backend Services
- Firebase Realtime Database
- Cloud Firestore
- Firebase Authentication
- Firebase Cloud Messaging
Used for real-time data synchronization:
- User profiles (buyers and drivers)
- Order requests and status updates
- Live location tracking
- Driver availability status
Mapping & Location Services
Trackmart integrates Mapbox for superior mapping capabilities and uses Geolocator for precise location tracking.
- Real-time route calculation between buyer and driver
- Distance and duration estimates
- ETA calculations based on current traffic
- Live polyline rendering for route visualization
- Custom markers for buyers and drivers
lib/map.dart
Tech Stack
| Category | Technology | Version |
|---|---|---|
| Framework | Flutter | SDK 2.2.0 - 3.0.0 |
| Backend | Firebase Auth | ^0.11.1+7 |
| Database | Cloud Firestore | 0.12.7+1 |
| Database | Firebase Realtime DB | 3.0.5 |
| Messaging | Firebase Messaging | 5.1.2 |
| Maps | Mapbox (via flutter_map) | 0.7.0+2 |
| Location | Geolocator | 5.1.1+1 |
| Networking | Dio | 2.1.13 |
| State Management | setState (Built-in) | - |
Order Workflow
Next Steps
Quick Start
Get up and running in minutes with step-by-step setup
Firebase Setup
Configure Firebase for authentication and real-time data
Mapbox Integration
Set up Mapbox for location tracking and route visualization
Development Guide
Set up your development environment and start building
Firebase Setup
Configure Firebase services for the app
Mapbox Integration
Set up Mapbox for mapping features
Deployment
Deploy Trackmart to production