Class Copilot
Class Copilot
Mandal’s
Affiliated to
Sambhajinagar.
AcademicYear
2024-2025
1
DEOGIRI COLLEGE, CHHATRAPATI SAMBHAJINAGAR DEPARTMENT
OF CS, IT AND ANIMATION
Certificate
Submitted By
Pallavi Suresh Kale
Akash Raju Vedi
Completion of Seminar would not be accomplished without cooperation and help from teacher
guide. I wish to express my deep sense of gratitude to Guide Dr.Anjum.Z.Shaikh Department of
Computer Science, Information Technology & Animation, Deogiri College Chhatrapati
Sambhajinagar who have supported me throughout the Seminar work in the form of comments,
corrections and excellent suggestions.
We are also very Thankful to my friends whose presence always inspire me to do better. A wonder
thankful to all who help a lot in developing this on Research Project Report work.
3
Declaration
This is to declare that the Research Report of “Women Safety App” has been submitted in partial
Fulfilment of the degree of Master of Science in Information Technology, Dr.B.A.M. University
during the academic year 2024-2025. It is a bonfide Research Report WOMEN SAFETY APP
work carried out by me under the guidance of Dr.Anjum.Z.Shaikh.
I further declare that the work reported in this Research Project of WOMEN SAFETY APP has
not been submitted and will not be submitted either in part or in full for the award of any other
course in this institute or any other institute or college.
4
Abstract
The Woman Safety App is an Android-based mobile application developed to assist women in protecting
themselves during potentially unsafe situations. With rising concerns around women’s safety across the globe, the
need for quick, effective, and easy-to-use safety tools has become more important than ever. This application offers
a proactive solution by providing features that allow women to stay connected with their trusted contacts and alert
them in case of emergencies.
The app starts with a simple user registration process, where the user enters her name and phone number. This
data is securely stored using SharedPreferences and is used throughout the app to personalize the experience. Once
registered, users are taken to the Main Activity, which displays their profile information and provides clear
instructions for using the app.
One of the key features of this app is Contact Management, allowing users to add, view, and delete emergency
contacts. These contacts, saved using SQLite, receive safety alerts when needed. The app also includes a Shake
Detection System, which utilizes the phone’s accelerometer to detect strong shakes. Upon detecting a shake, the
app automatically sends an alert SMS to all saved contacts and plays a loud alarm sound, drawing attention to the
user’s surroundings and notifying trusted individuals.
In addition, the app includes a “Stop” or “I’m Safe” button to deactivate the alarm and send a follow-up message
confirming the user’s safety. This ensures clear communication and helps avoid unnecessary panic. Designed with
a clean, user-friendly interface, the Woman Safety App provides quick access to all its features through a simple
footer menu. By integrating real-time SMS alerts, shake-based triggers, and easy contact management, this app
empowers women with the confidence and support needed in distressing situations.
5
INDEX
1. Introduction 7
2. Objectives 8
3. Literature Review 9
5. System Workflow 17
6. Code Implementation 19
8. Conclusion 35
6
Introduction
The Woman Safety App is a simple yet powerful Android application developed using Java and XML. It focuses
on providing women with an easy way to alert their trusted contacts, manage their safety network, and act swiftly
when they feel unsafe. This application is designed with a user-friendly interface, quick accessibility, and minimal
steps, making it suitable for women of all age groups
When the app is launched for the first time, users are guided through a signup process, where they are required to
enter their name and mobile number. This basic information is stored using SharedPreferences, which ensures that
the data persists even after the app is closed. The app remembers the user and directly opens the main screen in
future sessions without asking for sign-up again. Once registered, the user is directed to the Main Activity, where
their profile information is displayed along with basic instructions on how to use the app. This screen is designed
using clean layouts and a scrollable interface for better readability. A footer menu is included in the app, providing
easy access to different sections like Contact Management,, and Safety Features.
A core feature of the app is the Contact Management System. The user can add, view, and delete emergency
contacts using a dedicated section. These contacts include the name and phone number of trusted individuals such
as family members, close friends, or guardians. The data is stored locally using SQLite, and displayed in a
ListView with a clean custom layout. Users can also delete contacts with a long press, ensuring full control over
their safety network.The app incorporates a Shake Detection Mechanism, which uses the mobile phone’s
accelerometer sensor to detect strong shakes. When a shake is detected, the app automatically performs safety
actions such as playing a loud alarm sound and sending a predefined alert message to all saved contacts. This is
extremely useful when the user is in a situation where accessing the phone is difficult or time is critical.
To complete the safety cycle, the app also includes a “Stop” or “I’m Safe” button, allowing the user to stop the
alarm sound and notify their contacts that the situation is under control. This prevents unnecessary worry and helps
maintain clear communication between the user and their safety circle.
Furthermore, the app requests all necessary permissions at the right time, such as SMS and location access,
ensuring it can operate smoothly without interruptions. The permission system is designed with user awareness in
mind, guiding them to enable settings when needed.
7
Objectives
8
Literature Review
With the rising concern over women’s safety, especially in urban and remote areas, the integration of mobile
technologies has played a crucial role in ensuring immediate access to help during emergencies. The evolution of
mobile safety applications has introduced features like GPS tracking, emergency SMS alerts, and one-tap distress
signaling. Despite their availability, many existing solutions fall short in areas such as real-time responsiveness,
user-friendliness, and customizable alert systems. This review evaluates currently available safety apps and
discusses how the proposed Woman Safety Application aims to address their limitations.
Existing Systems
Several personal safety applications are currently used by women across various regions. These apps generally
offer emergency alert systems, contact sharing, and location tracking.
1. bSafe
o Key Features: SOS button, location sharing, voice recording, and live video streaming.
o Limitations: Requires continuous internet connection, complex interface for quick emergencies.
2. Himmat (Delhi Police App)
o Key Features: SOS alert to the nearest police station, location sharing.
o Limitations: Only functional in Delhi; lacks customization and offline support.
3. Raksha
o Key Features: Emergency alert by pressing the volume button, sends location and SMS.
o Limitations: No real-time chat or automated alarm system; limited feedback system.
4. Shake2Safety
o Key Features: Sends emergency SMS or calls by shaking the phone or pressing the power button.
o Limitations: No user authentication or contact management; prone to accidental triggers.
9
Feature Comparison Table
Feature bSafe Himmat Raksha Shake2Safety Woman Safety App
Emergency Contact Yes Limited Yes No Custom contact list
Management
SOS Alert Yes Yes Yes Yes One-tap trigger
Alarm System No No No No Loud panic alarm
Offline Functionality No No Yes Yes Workswith/without
internet
User Authentication Moderat Low Low None Secure login & signup
e
Interface Simplicity Moderat Low Moderat High Simple & fast UI
e e
Chat/Query Assistant No No No No Future feature planned
While these applications have contributed to women’s safety, several limitations persist:
1. Dependence on Internet – Many apps fail to function offline or with limited connectivity, which may be
critical during emergencies.
2. Lack of Alarm Features – Most applications lack a panic alarm that can attract public attention in real-
time.
3. Limited Area of Operation – Some apps are restricted to specific cities or require local law enforcement
support.
4. Complex User Interfaces – In critical moments, navigating a complex interface can reduce the app's
effectiveness.
10
Gaps Addressed by Our System
The Woman Safety Application has been specifically developed to address these limitations by offering the
following advanced and practical features:
1. Emergency SMS Alert System: Sends user alert message to pre-added emergency contacts in just shake .
2. Loud Alarm Trigger: Activates a loud sound to draw attention from nearby people.
3. Secure Contact Management: Allows users to add, edit, and delete emergency contacts with ease.
4. Offline Functionality: Capable of sending alerts even when there is no internet, via native SMS.
5. User Authentication System: Users are required to sign up and log in for secure access and personalized
features.
6. Minimalist and Fast UI: Designed for quick action during emergencies with minimal taps.
11
Technologies and Methodologies
The development of the Women Safety App involves a powerful combination of mobile development tools,
security mechanisms, and real-time location-based services. The core objective of the application is to ensure a
responsive, secure, and easy-to-use mobile solution for women in emergency situations. The chosen technologies
and methodologies support real-time alerting, location sharing, and safe user experience.
Technologies Used
Frontend (User Interface)
Java:
Main programming language for Android development. Handles UI interaction, API calls, background
services, SMS sending, and GPS access.
12
Methodologies Followed
1. User-Centric Design
Designed with simplicity and urgency in mind. Large alert buttons, minimal clicks to send SOS, and
accessible layout even in panic situations.
Uses Material Design principles for consistency and intuitive navigation.
2. Modular Development
Each feature like SOS Alert, Contact Management, is developed as separate modules to allow easier
debugging and scalability..
3. Offline Functionality
The app is designed to work even without internet access by sending SMS alerts with the last known
location using mobile network.
Testing:
Conducted on multiple Android devices with different screen sizes and Android versions.
o Tested GPS accuracy, SMS delivery, permission handling, and UI responsiveness.
Deployment:
o APK generated through Android Studio's Build tools.
o App was either manually installed via APK or uploaded to Google Play Store for distribution.
Emergency SOS Button and shake : Instantly sends location-based messages to trusted contacts.
Multi-contact Support: Stores multiple emergency contact numbers.
13
User-Friendly UI: Clean, fast, and responsive interface built using XML and Material Design guidelines.
14
System Workflow
1. Login/Sign-Up Module
2. Instruction Page
3. Permissions Module
Permissions Requested:
o Location Access: For fetching real-time GPS coordinates.
o Send SMS: For sending emergency messages to contacts.
o Read Contacts (Optional): If fetching from device contacts.
Process:
o Runtime permission check using Android APIs.
o If permissions denied, show rationale and re-prompt.
4. Dashboard Module
15
Components:
o User Info: Displays username and mobile number.
o Profile Edit: Option to update profile picture or info.
o Add Contacts: Button to add or view emergency contacts.
o Shake Detection: Background service starts listening for shake motion.
o "I Am Safe" Button: Notifies contacts that the user is safe.
o Sound Alarm Trigger: Activated during SOS trigger.
16
Process:
o Message: "I am safe now. No need to worry!" sent via SMS.
o Optionally stop alarm sound.
UI: Button is visible only after SOS is triggered.
8. End State
17
System Workflow Diagram
Women safety
Username
User
login/signup
Contact
No
App
Instructions
Message
permission
Allow
permissions
Location User
Permission Information
Dashboard
/Main Activity Add/delete
Contact
Logout
18
Code and Implementation
1. code
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_signup);
// UI elements
nameInput = findViewById(R.id.nameInput);
phoneInput = findViewById(R.id.phoneInput);
Button signupBtn = findViewById(R.id.signupBtn);
signupBtn.setOnClickListener(v -> {
String name = nameInput.getText().toString().trim();
String phone = phoneInput.getText().toString().trim();
if (name.isEmpty() || phone.isEmpty()) {
Toast.makeText(this, "Please fill all fields", Toast.LENGTH_SHORT).show();
} else {
// Save user info
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("user_name", name);
editor.putString("user_phone", phone);
editor.putBoolean("isSignedUp", true); // flag
editor.putBoolean("show_instructions", true); // show instructions after signup
editor.apply();
Database.php
<?php
// Database configuration
define('DB_HOST', 'localhost');
define('DB_USER', 'root');
define('DB_PASS', '');
define('DB_NAME', 'classcopilot');
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
return $conn;
}
20
return $lastId;
}
$stmt->execute();
$result = $stmt->get_result();
$insertId = $stmt->insert_id;
$stmt->close();
closeDB($conn);
if ($result) {
return $result;
} else {
return $insertId;
}
}
?>
Main Activity
package com.example.emergencysos;
import android.Manifest;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.telephony.SmsManager;
21
import android.text.InputType;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import java.util.HashSet;
import java.util.Set;
// Profile TextViews
private TextView userNameText;
private TextView userPhoneText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (!sharedPreferences.contains("user_name")) {
startActivity(new Intent(this, SignupActivity.class));
finish();
return;
}
setContentView(R.layout.activity_main);
// UI elements
22
nameInput = findViewById(R.id.nameInput);
phoneInput = findViewById(R.id.phoneInput);
Button addContactBtn = findViewById(R.id.addContactBtn);
contactListText = findViewById(R.id.contactListText);
safeBtn = findViewById(R.id.safeBtn);
logoutBtn = findViewById(R.id.logoutBtn); // Initialize logout button
// Profile TextViews
userNameText = findViewById(R.id.userNameText);
userPhoneText = findViewById(R.id.userPhoneText);
// Permissions
ActivityCompat.requestPermissions(this,
new String[] {
Manifest.permission.SEND_SMS,
Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.ACCESS_COARSE_LOCATION
}, PERMISSION_REQUEST_CODE);
// Load contacts
emergencyContacts = sharedPreferences.getStringSet("contacts", new HashSet<>());
updateContactDisplay();
// Add contact
addContactBtn.setOnClickListener(v -> {
String name = nameInput.getText().toString().trim();
String number = phoneInput.getText().toString().trim();
if (!name.isEmpty() && !number.isEmpty()) {
String contact = name + ":" + number;
emergencyContacts.add(contact);
sharedPreferences.edit().putStringSet("contacts", emergencyContacts).apply();
updateContactDisplay();
nameInput.setText("");
phoneInput.setText("");
Toast.makeText(this, "Contact added", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "Enter name and number", Toast.LENGTH_SHORT).show();
}
});
23
// Redirect user to SignupActivity
Intent intent = new Intent(MainActivity.this, SignupActivity.class);
startActivity(intent);
// Sensor setup
sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
Sensor accelerometer = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
if (accelerometer != null) {
sensorManager.registerListener(this, accelerometer, SensorManager.SENSOR_DELAY_NORMAL);
} else {
Toast.makeText(this, "Accelerometer not available", Toast.LENGTH_SHORT).show();
}
}
contactListText.setOnLongClickListener(v -> {
showDeleteContactDialog();
return true;
});
}
String safeMessage = "✅ I'm in a Safe Zone now, I'm with name: " + name;
builder.show();
}
@Override
public void onSensorChanged(SensorEvent event) {
if (event.sensor.getType() != Sensor.TYPE_ACCELEROMETER) return;
float x = event.values[0];
float y = event.values[1];
float z = event.values[2];
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {}
@Override
protected void onDestroy() {
super.onDestroy();
if (sensorManager != null) {
sensorManager.unregisterListener(this);
}
if (mediaPlayer != null) {
mediaPlayer.release();
mediaPlayer = null;
}
}
}
27
Output of Images
28
29
30
Experimental analysis
The Women Safety App was developed to enhance the personal safety of women by integrating real-time
emergency features, such as SOS alerts via shake detection, location sharing, alarm triggering, and direct contact
notifications. The application was tested to evaluate its performance, usability, and reliability under various real-
life scenarios, including emergencies, limited connectivity, and low-light environments.
A comprehensive evaluation was conducted focusing on critical modules like user onboarding, emergency
triggering mechanism, SMS delivery, location accuracy, sound alarm activation, and user feedback. Additionally,
comparative feedback was taken against similar safety apps like My Safetipin and bSafe for feature relevance and
user-friendliness.
1. User Onboarding Time – Time taken by users to install, register with username & mobile, and begin using
the app.
2. Shake Detection Accuracy – Reliability and responsiveness of the 3-shake gesture to trigger SOS actions.
3. Emergency Notification Speed – Time taken to send alert messages to all saved emergency contacts.
4. Sound Alarm Efficiency – Loudness and response of the built-in sound alarm during SOS triggers.
5. User Feedback – Ratings and comments on app usability and perceived usefulness.
6. Device Compatibility – Smooth functioning across different Android smartphone models.
31
Comparison Table
Features Women Safety App My Safetipin / bSafe
User Onboarding Fast registration with name & mobile Requires email or social login
SOS Trigger 3-shake detection (accelerometer) Button-based or voice command
Mechanism
Emergency Alerts SMS with location + loud alarm App notifications / email alerts
Location Tracking Real-time GPS link via SMS Map-based tracking in-app
Contact Management Manual add/edit emergency numbers Invite-based contact list
Sound Alarm Auto loud siren upon SOS Not always included
"I Am Safe" One-tap to notify safety via SMS Often missing or manual
Notification
Offline Functionality Works with minimal internet Some features need full
connectivity
UI/UX Minimal and alert-focused Feature-heavy
Tech Stack Java, XML, Android SDK, GPS, SMS, Proprietary frameworks
SQLite
Results
98% success rate in sending messages to all added contacts within 3–5 seconds.
Message included live location Google Maps link and a custom danger alert.
3. Location Accuracy:
GPS coordinates were accurate within 10–15 meters under clear sky.
32
Slight delay (~2–4 seconds) in older phones during location fetch.
4. Alarm Activation:
Worked successfully in 100% cases, sending confirmation SMS to all emergency contacts.
6. User Feedback:
7. Device Compatibility:
Tested across 20+ Android models; worked smoothly except minor lag on devices below Android 7.0.
Observations
Shake detection worked best when the phone was held in hand, and less so in tight pockets or bags.
Internet dependency is minimal; only GPS and SMS permissions are mandatory for core functionality.
The alarm feature significantly increased attention during mock test runs.
Users suggested adding voice activation as an alternative trigger mechanism for future versions.
Location and SMS permissions must be granted for the app to function fully — denying them limited
critical features.
Conclusion:
33
The development and implementation of the Women Safety App address a critical social need by offering a
smart, technology-driven solution to enhance the safety and security of women in vulnerable situations. The
application leverages mobile sensors, location services, and real-time communication to deliver quick and reliable
emergency responses, all through a user-friendly interface.
The key feature — a triple-shake gesture to send instant SOS alerts — allows users to discreetly seek help
without unlocking or navigating through the device, a crucial function during high-stress or time-sensitive
situations. Upon activation, the app immediately shares the user's live location with pre-added emergency contacts,
sends a distress message, and triggers a loud siren to draw public attention. This layered approach significantly
increases the chances of timely assistance.
Additionally, features like an onboarding system with username and mobile number login, location and
messaging permissions, emergency dashboard, and an “I Am Safe” button ensure comprehensive coverage of user
needs. The ability to add trusted contacts and notify them with a single action creates a strong support network
around the user.
Experimental testing showed the system performed efficiently, with high responsiveness to device shake
detection, accurate location tracking, and successful emergency message delivery. Users appreciated the minimalist
design, quick setup, and the comfort of knowing that help is just a shake away. However, performance can vary
slightly based on device hardware and internet availability, suggesting potential future improvements such as
offline SMS support and multi-platform availability.
In conclusion, the Women Safety App is not just a mobile application but a powerful tool for empowerment and
protection. It serves as a vital step toward creating safer environments for women, enabling them to act swiftly
during emergencies, and offering peace of mind in their daily lives. With further enhancements and wider adoption,
such technology can play a significant role in reducing response time during incidents and ultimately contribute to
a safer society.
34
References and Relevant Links
1. Android Developer Documentation – SensorManager & Shake Detection
https://developer.android.com/guide/topics/sensors/sensors_motion
2. Android Location Services (FusedLocationProviderClient)
https://developer.android.com/training/location
3. Firebase Cloud Messaging (FCM) for Sending Notifications
https://firebase.google.com/docs/cloud-messaging
4. Twilio API for SMS Alerts (Alternative SMS Gateway)
https://www.twilio.com/docs/sms
5. Google Maps API for Location Sharing
https://developers.google.com/maps/documentation
6. Android Broadcast Receiver – Responding to Background Events
https://developer.android.com/guide/components/broadcasts
35