Child Tracking Location System
An IoT-based mobile application that enables parents and guardians to monitor a child's real-time location. The system combines GPS-enabled IoT hardware, Firebase for real-time data synchronization, and a Flutter application to provide accurate location tracking through an intuitive mobile interface.
Develop an IoT-based child tracking system that enables parents or guardians to monitor a child's real-time location through a mobile application, improving child safety and providing peace of mind.
Problem
One of the main challenges was establishing reliable communication between the IoT device and the mobile application while ensuring that location data was updated accurately in real time. Managing real-time data synchronization and maintaining a stable connection between the hardware, Firebase, and the Flutter application also required careful implementation.
Another challenge was implementing geofencing that allowed users to define custom safe zones by placing multiple markers on a map. Determining whether the child's current GPS location was inside or outside an irregularly shaped geofence was more complex than using a simple circular boundary.
Solution
I integrated an IoT tracking device with Firebase Realtime Database to transmit GPS location data to the cloud. The Flutter mobile application retrieved and displayed the location data in real time, allowing users to monitor the child's location seamlessly. Firebase's real-time synchronization ensured that location updates were delivered efficiently, while Flutter provided a responsive and user-friendly interface.
To solve this, I implemented the Ray Casting algorithm, a point-in-polygon algorithm that determines whether a GPS coordinate lies inside or outside a user-defined polygon. Users could create custom geofences by placing multiple markers on the map, and the system continuously evaluated the child's location against the defined boundary. This enabled accurate geofence monitoring and laid the foundation for triggering alerts whenever the child entered or exited the designated safe area.
Check out the full demo and github repo of this project: