🚨 Emergency SOS
- One-tap SOS button to instantly send alerts
- Sends a Google Maps link with your live location
- Choose specific trusted contacts to notify
- Includes personal info (Name, Blood Group, Phone, DOB) in the alert
- WhatsApp integration for direct sharing
📇 Trusted Contacts
- Add, edit, or delete emergency contacts
- Fully functional CRUD interface with smooth UI
- Stores contact data in local storage
🏠 Personal Dashboard
- Displays user info like Email, Blood Group, Phone, DOB
- User can edit profile info directly on the Home screen
- Data is stored in local storage
📰 Articles for Awareness
- Fetches real-time news related to women’s safety, laws, and tragedies
- Uses free public API with filters
- Images and headlines displayed in a card view
👤 Authentication
- Signup and Login screens
- Sign up collects all info shown on the dashboard
- User ID derived from email prefix
- Profile image shown in top navigation
🌐 Smooth Navigation
- Custom bottom tab navigation with:
🏠 Home
📇 Contacts
📰 Articles
👤 Profile - Middle button is a prominent SOS shortcut
Auto Location Upload:
- Background task using Expo Location
- Uploads /location/upload every X minutes
- Start/Stop + recent upload log
Real-time Toast Feedback:
- Green (success), Red (error), Neutral (info) for all major actions.
- React Native (Expo)
- React Navigation
- AsyncStorage (for local data persistence)
- Expo Location (live GPS tracking)
- Linking API (WhatsApp intent)
- News API for live articles
- @env for secure API key management
/screens
├── HomeScreen.js
├── ContactsScreen.js
├── ArticlesScreen.js
├── ProfileScreen.js
├── LoginScreen.js
└── SignupScreen.js
/components
└── BottomTabNavigator.js
/context
└── ContactContext.js
/env
└── .env (Add your News API Key here)
- Clone the Repository:
git clone https://github.com/yourusername/nirbhaya-safety-app.git
cd nirbhaya-safety-app- Install Dependencies:
npm install- Add Environment Variables:
Create a.envfile in the root:
NEWS_API_KEY=pub_79197297a3399a45d6a710681b65584db6084
- Run the App:
npm startor
expo startMake sure WhatsApp is installed on your device for SOS messaging to work.
npx eas build --platform android --profndroid --profile apndroid --profile apk
- Designed & Developed by Shaswata Saha
- React Native
- NewsData.io API
- Expo
This project is licensed under the MIT License.
- Cloud Firestore integration for user data
- Background SOS with shake detection
- AI-based article summarization
- Native call/SMS fallback option
“Empower one woman, and she will empower the world.”
- Auth (sign-up / sign-in) roles: user, guardian, ngo, admin
- User: approve tracking, upload location, SOS
- Guardian/NGO: request access, view tracked users & latest location
- NGO: manage doctors list
- Endpoints used: /auth/*, /profile/me, /profile/me/(visible-to|access-to), /guardian/track-request, /user/track-requests, /location/upload, /location/latest/:id, /sos, /doctors