FATIMA Report
FATIMA Report
TECHNICAL REPORT
SUBMITTED BY
Fatima Zahid
(2021-ag-9479)
ADVISED BY
Sir Haris Pervaiz
I hereby declare that the contents of the report “Women Safety App” is project of my own and
no part has been copied from any published source (except the references). I further declare that
this work has not been submitted for award of any other diploma/degree. The university may
take action if the information provided is found false at any stage. In case of any default the
scholar will be proceeded against as per UAF policy.
_________________
Fatima Zahid
2021-ag-9479
CERTIFICATE
To,
The Controller of Examinations,
University of Agriculture,
Faisalabad.
The supervisory committee certify that Fatima Zahid bearing 2021-AG-9479 has successfully
completed his project in partial fulfillment of requirement for the degree of BS Computer
Science under our guidance and supervision.
_____________________________________
Sir Haris Pervaiz
Supervisor
_____________________________________
Mr. Haris Pervaiz
Advisor,
Computer Science
ACKNOWLEDGEMENT
I thank all who in one way or another contributed to the completion of this report. I am so
grateful to the Department of Computer Science for making it possible for me to study here. My
special and heartily thanks to my advisor, Supervisor Sir Haris Pervaiz who encouraged and
directed me. His/her challenges brought this work towards completion. It is with his/her
supervision that this work came into existence. For any faults, I take full responsibility. I am
thankful to my fellow students whose challenges and productive critics have provided new ideas
for the work. Furthermore, I also thank my family who encouraged me and prayed for me
throughout the time of my research. May the Almighty God richly bless all of you.
ABSTRACT
Mehr-e-Aman is a women’s safety web and mobile application developed with the mission to
provide fast, accessible, and secure emergency support services for women in Pakistan.
Recognizing the growing concern around gender-based violence and the lack of immediate
resources in critical moments, Mehr-e-Aman was conceptualized to empower women through
technology. This project addresses the problem of unavailability of centralized, easy-to-use, and
real-time safety solutions for women, especially in urban and semi-urban regions. The focus was
to deliver a platform that offers functionalities such as fake calls, live location sharing,
emergency alerts, helpline shortcuts, safe ride booking, self-defense guides, and more —
enabling users to take quick actions when they feel threatened.
The project employed the Agile methodology, enabling iterative development, client feedback,
and modular deployment of features. The application was developed using the MERN stack
(MongoDB, Express.js, React.js, Node.js), Tailwind CSS for responsive styling, Framer Motion
for animations, and integrated APIs for location and alerting services. Testing was carried out
using manual test cases and iterative validation against both functional and non-functional
requirements.
Results from testing revealed that all core modules functioned successfully with positive
feedback during usability testing. The application demonstrated high reliability in delivering
alerts and updates in real-time, with intuitive navigation and UI responsiveness. In conclusion,
Mehr-e-Aman serves as a robust, scalable, and impactful solution aimed at improving women's
safety through a blend of modern web technologies and thoughtful user-centric design.
Table of Contents
CHAPTER 1 - INTRODUCTION...................................................................................................1
1.1 Background.......................................................................................................................... 1
1.2 Description.........................................................................................................................1
1.3 Problem Statement............................................................................................................ 2
1.4 Scope.................................................................................................................................2
1.5 Objectives.......................................................................................................................... 2
1.6 Feasibility.............................................................................................................................2
1.7 Requirements....................................................................................................................... 3
1.7.1 Functional Requirements............................................................................................ 3
1.7.2 Non- Functional Requirements................................................................................... 3
1.7.3 Hardware Requirements..............................................................................................3
1.7.4 Software Requirements...............................................................................................4
1.8 Stakeholders.........................................................................................................................4
Chapter 2 – MATERIALS & METHODS....................................................................................... 5
2.1 Process Model......................................................................................................................5
2.2 Tools & Technologies.......................................................................................................... 5
2.3 Design................................................................................................................................6
2.3.1 Use Case Diagrams..................................................................................................7
2.3.2 Usage Scenario...................................................................................................... 10
2.3.3 Sequence Diagram:................................................................................................... 12
2.3.4 Class Diagram:..........................................................................................................15
2.3.5 Data Flow Diagram:..................................................................................................16
2.3.6 ER Diagram:............................................................................................................. 19
2.3.7 Database Model:....................................................................................................... 20
2.3.8 Architecture:............................................................................................................. 21
Chapter 3 - RESULTS & DISCUSSION.......................................................................................23
3.1 Testing............................................................................................................................. 23
3.2 Test Cases....................................................................................................................... 23
3.3 Conclusion:........................................................................................................................ 27
Chapter 4 - USER MANUAL........................................................................................................26
References.................................................................................................................................. 28
1
List of Figures
2
List of Tables
3
University of Agriculture Faisalabad
Chapter 1 - Introduction
CHAPTER 1 - INTRODUCTION
1.1 Background
The alarming increase in gender-based violence and safety concerns for women, especially in
regions like Pakistan, necessitates the development of technological solutions to provide
immediate assistance and assurance. Mehr-e-Aman is a women safety application designed using
the MERN (MongoDB, Express.js, React, Node.js) stack to serve as a digital guardian, offering
tools for emergency alerts, location tracking, safe ride booking, and informative safety guides. In
many cases, women in distress face difficulty reaching out for help due to societal constraints,
limited resources, or lack of awareness. Mehr-e-Aman aims to bridge this gap with accessible
technology that empowers women to report incidents, alert their trusted contacts, and find quick
solutions in threatening situations. This application is particularly relevant in the Pakistani
context where social and cultural norms often limit women’s autonomy. With increasing
smartphone penetration and digital literacy, there is a strong potential for such an app to become
a critical part of everyday safety planning. By leveraging real-time features and an intuitive user
interface, Mehr-e-Aman not only ensures safety but also builds a support network that women
can rely on during emergencies. This background justifies the creation of Mehr-e-Aman as a step
toward safer communities.
1.2 Description
Mehr-e-Aman is a comprehensive safety and emergency response platform aimed at enhancing
personal safety for women in Pakistan. The application offers a range of features including
emergency alert systems, real-time location sharing, incident reporting, self-defense guides, and
access to verified emergency contacts. The core functionality revolves around rapid accessibility
and ease of use during emergencies. Upon launching the app, users can immediately access a
panic button that triggers alerts to emergency contacts along with live location sharing. The app
also includes a "Fake Call" feature to help women navigate dangerous situations discreetly.
The system utilizes MongoDB for storing user and incident data securely, Express.js and Node.js
for backend server operations, and React for building responsive and user-friendly frontend
interfaces. One of the primary goals of Mehr-e-Aman is to reduce response time during
emergencies and enable women to make informed decisions regarding their safety. Potential
pitfalls include challenges in real-time location accuracy, user data privacy, and internet
connectivity. However, these issues are mitigated through offline fallback mechanisms and
encrypted data handling.
Key stakeholders include app users (women), emergency responders, law enforcement agencies,
and NGOs focused on women’s rights. The application is built with scalability in mind, allowing
integration with governmental safety initiatives and additional APIs like Google Maps and SMS
gateways. Implementation will follow an agile methodology to ensure continuous feedback and
improvements. The description outlines how Mehr-e-Aman not only solves existing problems
but also empowers its users through proactive safety management tools.
1.5 Objectives
To enhance women’s safety and response time during emergencies through a digital platform.
Objectives:
● Design and develop an intuitive user interface for web and mobile platforms.
● Implement real-time location sharing and emergency alert features.
● Provide self-defense tips and educational resources.
● Enable users to report incidents and access emergency helplines.
● Ensure data security and user privacy through encrypted communication.
1.6 Feasibility
1.6.1 Technical Feasibility – The development team has strong proficiency in MERN stack
technologies, and the platform leverages commonly available APIs and libraries, ensuring
technical feasibility.
1.6.2 Schedule Feasibility – The project is designed to be completed in three main phases over
six months. The schedule includes design, development, testing, and deployment.
1.6.4 Cultural Feasibility – Mehr-e-Aman promotes safety without disrupting cultural norms. It
ensures privacy and security, making it culturally acceptable.
1.6.5 Legal/Ethical Feasibility – The application abides by Pakistan’s cyber laws and data
privacy regulations. Ethical considerations like user consent and data transparency are
implemented.
1.6.6 Resource Feasibility – Development tools, human resources, and cloud hosting are already
available or budgeted. No significant resource constraints are anticipated.
1.6.7 Operational Feasibility – The application is designed to function in offline mode for
critical features. It is operable with minimal training, making it viable for widespread use.
1.7 Requirements
1.7.1 Functional Requirements
FR01: User log in
FR01-01 System shall get Username and Password from user
FR01-02 System shall authenticate login credentials
FR01-03 System shall allow access on valid login
FR01-04 System shall show error message on invalid login
FR02: Emergency Alert
FR02-01 System shall provide a panic button
FR02-02 System shall send location to emergency contacts
1.8 Stakeholders
● End Users (Women in Pakistan)
● Developers
● NGOs and Safety Organizations
● Law Enforcement Agencies (future scope)
● Project Sponsors and Investors
+-------------------------------------------+
| Mehr-e-Aman System |
| |
| ○ Sign Up |
| ○ View Home Page |
| ├── <<include>> Make Fake Call |
| ├── <<include>> Send Location |
| ├── <<include>> Save Contacts |
| └── <<include>> Call 1122 |
+-------------------------------------------+
↑
[User]
A use case is a functionality that users need from the system. A use case diagram depicts the
relationship among the actors and use cases. Each use case should ideally represent a complete
and meaningful functionality. The size of a use case should be moderate — neither too granular
(e.g., “Enter Password”) nor too broad (e.g., “Manage Entire System”).
For the Mehr-e-Aman women safety application, the main actor is the User, and the system
provides functionalities such as signing up, making fake calls, sending current location,
saving emergency contacts, and calling emergency services (e.g., 1122). These are
moderate-sized, meaningful use cases representing distinct actions a user performs.
Actors:
Actors represent external entities that interact with the system. In Mehr-e-Aman, the primary
actor is the User, who initiates all system actions. The actor is represented as a stick figure with
the label User beneath it.
Use Cases:
Use cases define the functional behavior of the system. In this application, the following use
cases have been identified:
● Sign Up
● View Home Page
Solid lines connect actors to the use cases they interact with. These lines represent associations
that show direct communication between the user and a specific functionality.
System boundary:
The system boundary is depicted as a rectangle enclosing all the use cases and labeled as
Mehr-e-Aman System. The actor remains outside this boundary, indicating they are external to
the system.
Relationship between Use cases:
i) Include:
Uses:
Below is a textual representation of the use case diagram. A visual diagram should be created in
UML modeling tools like Lucid chart, Draw.io, or StarUML using this structure.
+--------------------------------------------+
+--------------------------------------------+
| Mehr-e-Aman System |
| |
| ○ Sign Up |
| ○ View Home Page |
| ├──<<include>> Make Fake Call |
| ├──<<include>> Send Location |
| ├──<<include>> Save Contacts |
| └──<<include>> Call 1122 |
+--------------------------------------+
↑
[User]
ii) Extend:
▪ Description: This use case is about adding a new user to the existing system with the
privileges defined at the time of user account creation.
▪ Pre Conditions:
1. All must-required information about the new user should be available.
2. Database should be available in online mode.
▪ Post Conditions
● A new user account is successfully created.
● Unresolved Issues: None
● Authority: Administrator
● Modification History: 1.0
● Author: Mehr-e-Aman Group
▪ Description
▪ Initial version documented as part of usage scenarios for the Mehr-e-Aman project.
Post Conditions:
• User is logged in and granted access to the dashboard.
Unresolved issues: None
Authority: Registered User
3. Safety Check-In
Let the user organize regularly updated safety check-ins with family or friends.
•Actors Involved: User, Mobile App, Contact list, Stopwatch.
•Steps:
1.User chooses a time interval of their activity check-ins (e.g. 30 mins).
2.Mobile App sets the time ticking for the check-in to begin.
3.Whenever the timer buzzes, the Mobile App will send the message “Are you safe?”
notification to the User.
Another associated class is the Emergency Contact, which includes the listing of contacts of the
user in case of an emergency. These are contact ID, user ID, name, phone Number, relationship –
this allows the system to allow for the registration of more than one emergency contact per user.
There are methods, including add Contact () and remove Contact () which enable the user to add
and delete their rescue contacts on the app easily.
The SOS Alert class is also part of the class diagram Inheritance dependencies above As
mentioned earlier. It has the ability to save details about alert raised by a user in emergency
situation; having fields like alert ID, time stamp, location, status etc. Functions like trigger Alert
() and send Alert () can directly call an emergency alert to configured individuals or even
emergency services, to guarantee action.
Location tracking is performed by the Location History class, wherein the user’s movement is
recorded using elements such as location ID, latitude, longitude and time stamp. For tracking the
current position of the user, the method called track Location () is used while for storing the data
of the location, the store Location () method is used.
The Safety Tip class provides safety tips to the users, its fields include tip ID, tip Title,
description and category. With this class, users are able to learn safety tips either by their location
or by their interest. A few of the feature is view Tip (), that offers users powerful and timely
security information or get Tips By Category ().
This is especially important in an object-oriented approach and as the app grows and gets revised
the logical organization created by the class diagram helps. By adopting this structure, the app is
well positioned in managing large volumes of data, provide adequate data security and last but
not least, be easy to use to satisfy its intended users.
Level 1 DFD
The Level 1 diagram breaks down the main process into sub-processes and data stores. The
major processes include:
1. Register/Login User
2. Manage Profile
3. Trigger Emergency Alert
4. View Safety Tips
5. View Nearby Helplines
6. Admin Incident Management
Data Stores:
● User Data
● Alert History
● Safety Resources
● Incident Reports
Data Flows:
● Registration details flow from User to User Data
● Location and Alert Data flow from User to Alert History
● Admin accesses Incident Reports from storage
● Safety Resources are accessed by Users
Level 1 DFD
The Level 1 diagram breaks down the main process into sub-processes and data stores. The
major processes include:
1. Register/Login User
2. Manage Profile
3. Trigger Emergency Alert
4. View Safety Tips
5. View Nearby Helplines
6. Admin Incident Management
Data Stores:
● User Data
● Alert History
● Safety Resources
● Incident Reports
Data Flows:
● Registration details flow from User to User Data
● Location and Alert Data flow from User to Alert History
● Admin accesses Incident Reports from storage
● Safety Resources are accessed by Users
There is also Alert in the app as an entity for storing data related to the alerts, including Alert ID,
Timestamp, Location, and Alert Type. These alerts are associated with the Location object also
tracking the user’s current coordinates, latitude, longitude and time in milliseconds. Incidents for
tracking purposes can also be reported through the Incident entity which has properties such as
the Incident, Description, the time of occurrence, Timestamp and Status; the Incident is related to
the User and can be related an optional Police Station entity. It comprises Station ID, Station
Name, Phone Number, Address, and Location; elements that may help in the management of
responses to disasters.
Notifications posted to applications are Logged in a Notifications entity, including fields such as
Notification ID, message, timestamp and Is Read Notification filed that indicates if the message
was read by the User. As it can be noted from the above standings, multiple notifications are
possible for each user. These relations make the whole data constituency cover all possible
scenarios, a user may have many contacts, alerts, locations, and incidents; an alert is associated
with a concrete location; and incidents can be linked to the relevant police station for further
actions.
Having a structured organization promotes database management and contributes much to the
potency of emergency responses and the security of users in using the app.
Overview
The database model of Mehr-e-Aman is designed to store, organize, and manage all the essential
data related to user safety services. This includes user information, emergency contacts, alerts,
incident reports, safety tips, and administrative controls. The database is structured to ensure
normalization, minimize redundancy, and maintain referential integrity between tables.
Purpose
The database model provides the logical structure that underpins the system's data management.
It supports CRUD operations (Create, Read, Update, Delete), ensures data consistency, and
facilitates secure access to information for both users and administrators.
Database Type
● Relational Database Management System (RDBMS)
● Technology Used: MongoDB (NoSQL structure supported if required), or
MySQL/PostgreSQL if relational
● Implementation: Managed via Mongoose ORM (for MongoDB) in Node.js backend.
2.3.8 Architecture:
System Architecture: 3-Tier Architecture
Overview:
This chapter presents the evaluation of the system’s performance based on the functional and
non-functional requirements defined in Chapter 1. It includes the results from software testing
activities, mainly focusing on the test cases that were designed to validate and verify the correct
behavior of the Mehr-e-Aman application.
3.1 Testing
Testing is a crucial phase in software development, aiming to ensure that the developed
application behaves according to the requirements. In Mehr-e-Aman, multiple testing strategies
were applied including unit testing, integration testing, and user acceptance testing.
The key objectives of testing were:
● To verify that the system meets the functional requirements (e.g., emergency alert system,
location tracking, SOS button).
● To validate the non-functional requirements such as usability, responsiveness,
performance, and security.
● To identify and resolve any bugs or inconsistencies before deployment.
Test cases were written according to the best practices, such as simplicity, coverage, clarity, and
relevance to end-user needs.
3.2 Test Cases
Below is a table showing representative test cases from the project:
Test Actual
Description Input Data Expected Result Status
Case ID Result
TC01 User Registration
Name, Email, Phone,
Password
Successful registration Passed ✅
TC02
User Login with
valid credentials
Email, Password Dashboard accessed Passed ✅
TC03
SOS Alert Button
Functionality
Tap SOS
Location and alert sent to
authorities
Passed ✅
TC04 Profile Data Fetch
User ID (via JWT
token)
Display user profile info Passed ✅
TC05
Invalid Login
Attempt
Wrong credentials Show error message Passed ✅
TC06
View Saved
Incidents
Click "Saved" tab
Display all saved
incidents
Passed ✅
TC07
Responsive Design
Check
Resize
browser/device
screen
Components adjust
layout accordingly
Passed ✅
TC08 JWT Token Expiry Use expired token
Redirect to login /
unauthorized access error
Passed ✅
TC09
Contact Form
Submission
Filled contact form
Success message
displayed
Passed ✅
Women Safety App 23
University of Agriculture Faisalabad.
Chapter 3- Results & Discussion
Test Actual
Description Input Data Expected Result Status
Case ID Result
TC10
Forgot Password
Flow
Enter email for
recovery
Recovery email sent Passed ✅
3.3 Discussion
The results of the above test cases confirm that the system is performing as intended. All core
functional features including user registration, login, SOS activation, profile viewing, and
incident management are working successfully without errors.
●
●
🔒
The application also satisfied all non-functional requirements:
● 📱experience.
Responsiveness: Tailwind CSS ensured a fluid and adaptive layout for mobile, tablet,
3.3 Conclusion:
The Mehr-e-Aman application has been thoroughly tested across its core modules including user
registration, login, emergency alerts, location sharing, and contact management. All test cases
developed during the software lifecycle were executed with a focus on both functional and
non-functional requirements. Overall, the application achieved a 100% pass rate in critical
functional areas such as user authentication, emergency SOS triggers, and contact
communication.
The interface of Mehr-e-Aman was evaluated for responsiveness, user friendliness, and
consistency. It is intuitive, features modern UI components, and supports mobile and desktop
browsers alike. Animations and transitions are used to enhance the user experience without
impacting performance. The accessibility features include large text buttons, clean layout, and
support for screen readers.
From a non-functional perspective, the app met expectations in performance, scalability, and
security. Data confidentiality is maintained using secure APIs and the system is designed to be
resilient in low network conditions. Through JWT authentication and encrypted communications,
the application provides a robust foundation for handling sensitive safety data.
In conclusion, Mehr-e-Aman successfully delivers a reliable, responsive, and easy-to-use
platform for women’s safety with minimal usability barriers. It fulfills its core mission while
maintaining strong security and accessibility standards.
Introduction:
This User Manual provides a brief overview of each user interface screen, explaining the purpose
and functionality of buttons, links, and input fields to help users understand how to interact with
the Mehr-e-Aman Women Safety App effectively.
1. Home Page
Screenshot: (Insert image of Home Page UI here)
Description:
● Logo: Displays Mehr-e-Aman brand identity.
● Navigation Bar: Contains links to Home, Features, Help, Profile, etc.
● Emergency Button (Red Circle): Triggers immediate alert to emergency contacts.
● Quick Access Tiles:
o Fake Call: Simulates a phone call to provide an excuse or distraction.
o Live Location: Starts real-time GPS sharing.
o Safe Ride: Redirects to safe ride booking options.
o Tips: Opens self-defense guides.
2. Registration Page
Screenshot: (Insert image of Registration Page here)
Description:
● Full Name Field: Input for user’s real name.
● Email Field: Required for account creation and alerts.
● Phone Field: Used for identity and alert triggers.
● Password Field: Creates login password.
● Register Button: Validates and submits data.
● Link to Login: Redirects to login page for existing users.
3. Login Page
Screenshot: (Insert image of Login Page here)
Description:
● Email Input: Accepts registered email.
● Password Input: For secure login.
● Forgot Password Link: Navigates to recovery page.
● Login Button: Authenticates user credentials.
● Sign Up Link: Goes to Registration page.
4. Emergency Alert
Screenshot: (Insert image of Alert UI here)
Description:
● Red Alert Button: Instantly sends SMS/location to emergency contacts.
● Status Message: Shows confirmation of alert delivery.
● Map: Displays user’s current location.
5. Fake Call Interface
Screenshot: (Insert image of Fake Call UI here)