Inspiration
Growing up in Chikkamagaluru, a region famous for its trekking trails, I've seen firsthand the dual nature of our beautiful mountains. While they offer breathtaking adventures, they also pose significant risks. I've been a witness to the heartbreaking stories of trekkers going missing and the profound grief of their families. This personal connection, fueled by a desire to bring a simple and effective safety solution to the trekking community, is the primary inspiration behind Surakshaa. I wanted to build a tool that could provide a lifeline, turning a potential tragedy into a successful rescue.
What it does
Surakshaa is a real-time web application designed to enhance the safety of trekkers. Its core functionality is centered on a live, interactive map.
User Authentication: Users can securely sign up and log in using email or Google accounts.
Real-time Tracking: Once a user checks in at a trailhead (simulated by a button click), their location is tracked in real-time and displayed as a marker on the map.
Distress Alerts: The "SOS Help!" button allows a user in distress to send an immediate alert, changing their marker to red on the map and notifying all connected guardians.
Guardian Dashboard: A live list of all checked-in trekkers is available, showing their current status (e.g., Checked-in or SOS - Distress!) and allowing guardians to monitor their location.
Points of Interest: The map also displays important landmarks, checkpoints, or rest stops to help trekkers navigate the trail safely.
How we built it
Surakshaa was built using a robust and modern web development stack. The front-end user interface and logic were crafted using HTML, CSS, and JavaScript. We leveraged the Google Maps JavaScript API to create the dynamic map interface and manage the visual representation of trekkers and points of interest. For the back-end, we chose Firebase, which was instrumental in creating the real-time experience. Firebase Authentication handles user sign-up and login, while Cloud Firestore acts as our real-time database, storing and instantly updating trekker locations and distress signals. This approach allowed us to build a responsive and scalable application without needing to set up our own server infrastructure.
Challenges we ran into
We faced several key challenges during development that pushed us to learn and adapt. The most significant technical challenge was a ReferenceError where our JavaScript code attempted to manipulate UI elements before they were fully loaded by the browser. This required careful restructuring of our code to ensure that all DOM elements were properly referenced at the right time. Another major hurdle was managing our Git repository, as we encountered non-fast-forward push errors when deploying to GitHub Pages. This taught us the importance of routinely pulling changes from the remote repository before pushing new ones. Finally, integrating the real-time APIs and ensuring data synchronized smoothly across all users proved to be a complex but rewarding task.
Accomplishments that we're proud of
We are proud to have successfully built a fully functional, real-time application that addresses a critical real-world problem. Getting the real-time location tracking and SOS alerts to work seamlessly was a major accomplishment. We are also particularly proud of the intuitive and responsive user interface, which provides a clear and easy-to-understand experience for both trekkers and guardians. Deploying the project live on GitHub Pages was a significant milestone, turning our code into a publicly accessible, working application.
What we learned
This project provided invaluable lessons in modern web development. We gained hands-on experience in:
API Integration: Deeply understanding how to work with the Google Maps and Firebase APIs.
Real-time Databases: Grasping the concept of real-time data synchronization with Cloud Firestore.
Debugging: Sharpening our problem-solving skills by identifying and fixing complex errors like the ReferenceError.
Version Control: Mastering essential Git commands to manage project history and collaborate effectively.
Project Management: Working under a tight deadline to deliver a functional product.
What's next for Surakshaa
Surakshaa has a bright future with several exciting features planned. We would love to implement:
SMS & Email Alerts: Integrating a service like Twilio or SendGrid to automatically send emergency notifications to designated guardians.
Geo-fencing: Allowing trekkers to set a planned route and automatically sending an alert if they deviate from it.
Offline Functionality: Implementing a caching mechanism to ensure core features, like location tracking, work even when a user is temporarily out of network coverage.
Mobile & Wearable Integration: Developing a native mobile app or integrating with smartwatches to make the service even more accessible and convenient for trekkers.
Log in or sign up for Devpost to join the conversation.