A web application aimed at enhancing women’s safety by providing SOS alerts, safe zones, guardian contacts, and real-time location sharing.
🔗 Live Website: https://women-safety-zowe.vercel.app
Women Safety Zowe is a modern and intuitive web platform designed to ensure women’s safety by combining real-time location tracking, alert systems, and safety awareness.
Users can define safe zones, manage trusted guardians, send emergency SOS alerts, and receive live safety updates.
💡 Our mission: Empower women through smart, secure, and compassionate technology.
| Feature | Description |
|---|---|
| 🏠 Welcome / Home Page | Introduction and navigation to all key safety modules. |
| 🛡️ Safe Zone | Allows users to define safe geographical areas. |
| 👨👩👧 Guardians | Add and manage trusted emergency contacts. |
| 🚨 Safety Alarm / SOS | Sends an SOS alert with your live GPS location. |
| 📰 Latest News / Safety Tips | Displays real-time safety updates and advice. |
| Layer | Technologies | Usage Explanation |
|---|---|---|
| Frontend | React.js | Builds the dynamic, responsive single-page interface for users to interact with the app. |
| UI / Styling | Tailwind CSS | Provides clean, modern design with responsive utility classes. |
| Backend | Node.js + Express.js | Handles APIs, user authentication, and SOS alert routing. |
| Database | MongoDB | Stores user data, guardian contacts, safe zones, and alert history. |
| Authentication | JWT (JSON Web Tokens) | Secures user sessions and verifies authentication tokens. |
| Mapping | Leaflet + OpenStreetMap | Displays real-time user location and safe zone boundaries. |
| Animations | Framer Motion | Adds smooth transitions and engaging UI animations. |
| Version Control | Git + GitHub | Manages source code and enables collaborative development. |
| Deployment | Vercel | Hosts the frontend and backend for fast, global accessibility. |
Below is a high-level overview of how the Women Safety Zowe platform is structured:
+-----------------+
| Map API / |
| Geolocation |
+--------+--------+
^
|
|
+----------------------+ HTTPS | +--------------------+
| Client (UI) |-------------> | | External APIs |
| (React / Next.js) | | | (Map, SMS, Email) |
| - SOS button | | +--------------------+
| - Safe Zone editor |
| - Guardians list |
+----+---+-------------+
| |
| | WebSocket / HTTP
v v
+----------------------+
| Server (Node/Express)|
| - Auth (JWT) |
| - SOS routing |
| - Notifications |
| - Safe zones logic |
+---+------------------+
|
| CRUD
v
+----------------------+
| Database |
| (MongoDB) |
| - Users & Guardians |
| - Safe Zones |
| - Alerts / History |
+----------------------+
UML DIAGRAM
┌──────────────────────────────────────────┐
│ <<Actor>> │
│ User │
│------------------------------------------│
│ - Registers / Logs in │
│ - Adds Trusted Contacts │
│ - Triggers SOS │
│ - Views Tips & News │
└──────────────────────────────────────────┘
│
│ interacts with
▼
┌─────────────────────────────────────────────────────────────────────────────┐
│ <<Subsystem>> Women Safety App │
│-----------------------------------------------------------------------------│
│ <<Classes / Components>> │
│ │
│ ┌────────────────────┐ ┌───────────────────┐ ┌─────────────────────┐ │
│ │ UserManager │ │ SOSService │ │ NotificationService │ │
│ │--------------------│ │-------------------│ │---------------------│ │
│ │ +register() │ │ +triggerSOS() │ │ +sendSMS() │ │
│ │ +login() │ │ +cancelSOS() │ │ +sendPush() │ │
│ │ +updateProfile() │ │ +shareLocation() │ │ +playAlarm() │ │
│ └────────────────────┘ └───────────────────┘ └─────────────────────┘ │
│ │ │ │ │
│ │ uses │ uses │ interacts with │
│ ▼ ▼ ▼ │
│ ┌────────────────────┐ ┌───────────────────┐ ┌──────────────────────┐ │
│ │EmergencyContactMgr │ │LocationTracker │ │ContentManager │ │
│ │--------------------│ │-------------------│ │----------------------│ │
│ │ +addContact() │ │ +getCurrentLoc() │ │ +fetchNews() │ │
│ │ +deleteContact() │ │ +updateLoc() │ │ +fetchSafetyTips() │ │
│ └────────────────────┘ └───────────────────┘ └──────────────────────┘ │
│ │
│ <<Data Flow>> │
│ User presses power button → SOSService → LocationTracker → │
│ NotificationService → TrustedContacts → Receives SMS & Map link │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
│
│ communicates via API/SMS
▼
┌─────────────────────────────────────────────────────────────────────────────┐
│ <<Subsystem>> Cloud Backend / APIs │
│-----------------------------------------------------------------------------│
│ + REST API (User, SOS, News, Tips) │
│ + SMS Gateway (Twilio / MSG91) │
│ + Firebase / Firestore DB (User, SOS Events) │
│ + External APIs (News, Learning Content) │
└─────────────────────────────────────────────────────────────────────────────┘
│
│ sends notifications to
▼
┌─────────────────────────────────────────────────────────────────────────────┐
│ <<Actor>> Trusted Contact / Guardian │
│-----------------------------------------------------------------------------│
│ - Receives SOS Alert (SMS/Push) │
│ - Opens Map Link to Track User Location │
│ - Contacts User or Authorities if Needed │
└─────────────────────────────────────────────────────────────────────────────┘
# 1️⃣ Clone the repository
git clone https://github.com/ganesh337kini/Women_Safety.git
cd Women_Safety
# 2️⃣ Install dependencies
npm install
# 3️⃣ Configure environment variables
# (MAP_API_KEY, DATABASE_URL, JWT_SECRET, EMAIL_SERVICE, etc.)
# 4️⃣ Run in development mode
npm run dev
# 5️⃣ Open in your browser
http://localhost:3000