Real Time Vehicle Tracking App with web socket Built using Flutter
Real Time Vehicle Tracking App
Real Time Vehicle Tracking App with web socket Built using Flutter
Description
This is a demo project provide the idea how real time tracking work based on web socket protocol, i used Bloc pattern to provide a more realistic example.
The tracking process consist of three main elements
-
Driver
Mobile Application or embedded device connected to the server and updating its location continuously.
-
Client
Mobile Application connected to the server updating its location and listing to nearest drivers locations continuously.
-
Server
Backend Server to Mange Connections between Clients and Drivers.
This project is focusing on the client side, so i am using a server with single end point to mock the tracking web socket.
How to use this project
Before you start you will need Flutter SDK Installed,Google Maps Api Key,Dart Frog.
-
Config Android and IOS
-
Specify your API key in the application manifest android/app/src/main/AndroidManifest.xml
<manifest ... <application ... <meta-data android:name="com.google.android.geo.API_KEY" android:value="YOUR KEY HERE"/>
-
Specify your API key in the application delegate ios/Runner/AppDelegate.swift
import UIKit import Flutter import GoogleMaps @UIApplicationMain @objc class AppDelegate: FlutterAppDelegate { override func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication. LaunchOptionsKey: Any]? ) -> Bool { GMSServices.provideAPIKey("YOUR KEY HERE") GeneratedPluginRegistrant.register(with: self) return super.application(application, didFinishLaunchingWithOptions: launchOptions) } }
-
-
Install Dart Frog
dart pub global activate dart_frog_cli
- Go to server root folder and run
cd real_time_vehicle_tracking_server
dart_frog dev
- Run Flutter App