TRACKER PROJECT IN ANDROID
(WESAFE)
A Project Report
Submitted in partial fulfilment of the
Requirements for the award of the Degree of
BACHELOR OF SCIENCE
(INFORMATION TECHNOLOGY)
By
Patil Akanksha Subhash
4019795
Under the esteemed guidance of
Dr. Hiren Dand
Coordinator, Department of Information Technology
DEPARTMENT OF INFORMATION TECHNOLOGY
Parle Tilak Vidyalaya Association’s
MULUND COLLEGE OF COMMERCE
(Affiliated to University of Mumbai)
NAAC Re-Accredited A Grade – III Cycle
MULUND WEST, MUMBAI 400080
MAHARASHTRA, INDIA
2022– 23
PROJECT PROPOSAL
1 PRN No : 2020016400087893
2 Seat No : 4019795
3 Name of the Student : Patil Akanksha Subhash
4 Title of the Project : Tracker Project in Android
5 Name of the Guide : Dr. Hiren Dand
6 Teaching Experience of : 30 years
Guide
7 Is this your first : Yes
Submission
Signature of the Student Signature of the Coordinator
Date: Date:
Parle Tilak Vidyalaya Association’s
MULUND COLLEGE OF COMMERCE
(Affiliated to University of Mumbai)
NAAC Re-Accredited A Grade – III Cycle
MULUND WEST, MUMBAI 400080
MAHARASHTRA, INDIA
DEPARTMENT OF INFORMATION TECHNOLOGY
CERTIFICATE
This is to certify that the project entitled, "Tracker Project in
Android", is bonafide work of Akanksha Subhash Patil bearing
Seat.no: 4019795 submitted in partial fulfilment of the requirements for
the Third year of BACHELOR OF SCIENCE in INFORMATION
TECHNOLOGY Semester V during the academic year 2022 –
2023.
Internal Guide and Coordinator
External Examiner Principal
Date:
College Seal
ABSTRACT
Introduction of Smart phones redefined the usage of mobile phones
in the communication world. Smart phones are equipped with various
sophisticated features such as Wi-Fi, GPS navigation, high resolution
camera, touch screen with broadband access which helps the mobile phone
users to keep in touch with the modern world. Many of these features are
primarily integrated with the mobile operating system which is out of reach
to public, by which the users can’t manipulate those features. Google came
up with an innovative operation system termed as ANDROID, which is open
system architecture with customizable third-party development and
debugging environment which helps the users to manipulate the features
and to create their own customizable applications. ‘Women Safety App’
application using Google’s Android Mobile Platform is addressed. Many
unfortunate incidents have been taking place in woman’s case. Problems
may come from any direction such as women walking on the road after the
work, going to super market or many other reasons for which they go alone.
ACKNOWLEDGEMENT
The presented project, as a part of the curriculum was a first of its kind
experience for me. I had looked upon this project not merely as a syllabus to be
completed but as an aim to know, study, develop and experience the commercial
software technologies.
This project, titled “Women Safety Application” has been developed for the
safety of all women out there.
I would like to thank and appreciate the support of few, who served a
helping hand physically, mentally and intellectually in the course of this project. It
also largely depends on the support and encouragement given to us. I take this
opportunity to express my gratitude to the people who have been instrumental in
the successful completion of this project. Foremost regards to my guide, I would
thank our H.O.D, Dr Hiren Dand and Principal Dr Sonali Pednekar who made
available the facilities required for the project work.
I am pleased to be able to say that, in an acceptable manner, I have
achieved my goals and goals to make this project a result. I also wish to mention
the unsaid support of my parents who, as always helped me in every possible
way to make this work of mine, a success.
The contribution made by my friends and mates, directly or indirectly was
indispensable, and will always be remembered.
This opportunity has given me a valuable experience about software
development.
Thanking You,
Patil Akanksha Subhash
Table of Contents
CHAPTER 1 .......................................................................................................... 9
INTRODUCTION .................................................................................................. 9
1.1 Background............................................................................................ 11
1.2 Objective ................................................................................................ 12
1.3 Purpose, Scope and Applicability .......................................................... 13
1.3.1 Purpose ........................................................................................... 13
1.3.2 Scope .............................................................................................. 14
1.3.3 Applicability ..................................................................................... 14
1.4 Achievements ........................................................................................ 15
1.5 Organizational Report ............................................................................ 16
Chapter 2 ............................................................................................................ 18
Review Of Technologies ..................................................................................... 18
2.1 Technologies Available for Development .................................................. 18
2.2 Review of Similar Product ......................................................................... 18
2.3 Tools and Techniques Used: ..................................................................... 19
2.4 Programming Languages, Framework and Libraries Used for Development
........................................................................................................................ 25
CHAPTER 3 ........................................................................................................ 28
Software Requirement Specifications ................................................................. 28
3.1 Problem Definition ..................................................................................... 28
3.2 Requirement Analysis ............................................................................... 28
3.3 Software and Hardware Requirement ....................................................... 31
3.3.1 Hardware Requirement ....................................................................... 31
3.3.2 Software Requirement ........................................................................ 31
3.4 Planning and Scheduling ........................................................................... 32
3.5 Conceptual Models.................................................................................... 34
CHAPTER 4 ........................................................................................................ 45
SYSTEM DESIGN .............................................................................................. 45
4.1 Basic Module ............................................................................................. 45
4.2 Data Design............................................................................................... 45
4.3 System Design .......................................................................................... 48
4.4 Procedural Design ..................................................................................... 49
4.5 Algorithm Design ....................................................................................... 50
4.6 User Interface Design ................................................................................ 51
4.7 Security Issues .......................................................................................... 59
4.8 Test Cases Design .................................................................................... 60
CHAPTER 5 ........................................................................................................ 62
IMPLEMENTATION AND TESTING ................................................................... 62
5.1 Implementation Approaches .................................................................. 62
5.2 Code Details and Code Efficiency ......................................................... 63
5.3 Testing Approach................................................................................... 64
5.3.1 Unit Testing ..................................................................................... 64
5.3.2 Integration Testing .......................................................................... 66
5.3.3 Functional Testing ........................................................................... 67
5.3.3.3 Gray box Testing ............................................................................. 71
5.3.4 Beta Testing .................................................................................... 71
5.4 Modification and Improvement ............................................................... 73
5.5 Test Cases............................................................................................. 74
CHAPTER 6 ........................................................................................................ 76
RESULTS AND DISCUSSION ........................................................................... 76
6.1 Test Reports .............................................................................................. 76
6.2 User documentation .................................................................................. 79
CHAPTER 7 ........................................................................................................ 88
CONCLUSIONS ................................................................................................. 88
7.1 Conclusion ................................................................................................ 88
7.1.1 Significance of a System..................................................................... 89
7.1.2 Limitation of a System ........................................................................ 89
7.1.3 Future scope of a System ................................................................... 90
CHAPTER 8 ........................................................................................................ 91
REFERENCES ................................................................................................... 91
List Of Figures:
Figure 2. 1 Types of no SQL Database............................................................... 22
Figure 3. 1 Types of Requirements ..................................................................... 30
Figure 3. 2 Block Diagram .................................................................................. 36
Figure 3. 3 System Architecture .......................................................................... 37
Figure 3. 4 Sequence Diagram ........................................................................... 38
Figure 3. 5 : Data Flow Diagram Level 1............................................................. 40
Figure 3. 6 Data Flow Diagram Level 2............................................................... 40
Figure 3. 7 Activity Diagram ................................................................................ 42
Figure 3. 8 Use Case Diagram ........................................................................... 44
Figure 4. 1 User Acceptance Page ..................................................................... 51
Figure 4. 2 SIGN IN Page ................................................................................... 52
Figure 4. 3 Sign up and Register Page ............................................................... 53
Figure 4. 4 Share Incident Page with Emergency Contact................................. 54
Figure 4. 5 Complaint about Incident officially .................................................... 55
Figure 4. 6 Incident and Menu Page ................................................................... 56
Figure 4. 7 Legal Resources Page ..................................................................... 57
Figure 4. 8 Help and Contact Us page ................................................................ 58
Figure 5. 1 Unit Testing Lifecycle ........................................................................ 65
Figure 5. 2 Functional Testing ............................................................................ 68
Figure 5. 3 Beta Testing Processes .................................................................... 72
Figure 6. 1 User Acceptance Page ..................................................................... 79
Figure 6. 2 SIGN IN Page ................................................................................... 80
Figure 6. 3 Sign up and Register Page ............................................................... 81
Figure 6. 4 Share Incident Page with emergency Contact .................................. 82
Figure 6. 5 Complaint about Incident officially .................................................... 83
Figure 6. 6 Incident and Menu Page ................................................................... 84
Figure 6. 7 Legal Resources Page ..................................................................... 85
Figure 6. 8 Help and Contact Us page ................................................................ 86
List Of Tables:
Table 3. 1 Project Planning ................................................................................. 33
Table 3. 2 Gantt Chart ........................................................................................ 34
Table 6. 1 Test Report ........................................................................................ 78
Table 6. 2 Conventions ....................................................................................... 87
CHAPTER 1
INTRODUCTION
Smart phones are carefully made with various important features such as
Location tracking, GPS navigation, and providing Shortest Route help the mobile
phone users to stay in touch with the modern world and always shows the location.
Android are really important as they define the way we use our mobile phones for
communication and many more things like safety in this world. Google has
developed a ground-breaking operating system that they are calling ANDROID. It
is crucial for developing their own, fully customized applications, such as the
"Women Safety App," using Google's This software has features like the fastest
route to the entered destination, for example. If the user-given contacts are not
available, this feature can be utilized for safety purposes, such as bogus calls: The
user's location will be transmitted as an SMS to the contacts saved in the app that
they have provided. The program for the Android mobile platform, which is used to
pinpoint the precise location of the person in danger, will provide self-defense
advice and techniques.
In this setting, there have been numerous sad events and crimes. Issues
can arise from any angle, such as when women walk on the street after work, go
to the supermarket, or travel alone for many other reasons. This app assists in
sending the user's tracked location to their pre-selected, close contacts.
Nowadays, it is acceptable to say that everything in the world is accessible
thanks to technology, creating a kind of global village. Many people's lives have
changed as a result of the invention of the cell phone. Going a day without
reviewing and rechecking is difficult. your profiles on social media.
This merely serves to confirm the presence of mobile applications in our life.
The way people work has radically changed as a result of modern technologies. It
continues to have a huge impact on our lives now. In many American homes as
recently as the 1990s, televisions represented the technological apex. According
to the government organization, just 15% of homes possessed a PC in 1989. 2011
saw a 100% increase. Due to the widespread use of e-mail, video conferencing,
smartphones, and computers, modern offices would be unrecognizable to workers
of the past.
Majorly impacted industries include those in the communication, education,
and health sectors, among many others. The one area where modern technology
has the most impact is in the communication industry. We have used many forms
of communication for a very long time, ranging from smoking signals and
messenger pigeons to more recent tools like phones, mobile devices, and email.
In 1831, the electric telegraph was developed, which is considered to be one of the
most significant developments in communication. Nowadays, practically all forms
of communication, especially in business, employ digital methods.
In the modern world, it is dangerous to travel alone at night, especially for
women; it will be wise to go alone because women lack the physical strength of
men and cannot defend themselves against them. Finding and using services to
get you out of dangerous circumstances is a smart approach to lower your risk of
being a victim of violent crime (including robbery, sexual assault, rape, and
domestic violence). These apps can reduce risk and provide aid when we need it,
whether we are in an emergency situation or become separated from pals at night
and are unsure of how to go home. In this article, we introduce Security Alert, an
android-based smartphone application. According to India's National Crime
Records Bureau, documented cases of crime against women surged 6.4% in 2012,
and one is perpetrated every three minutes. According to 65% of Indian males,
women should put up with violence in order to maintain the stability of the home
and occasionally deserve to be beaten. According to the International Men and
Gender Equality Study (IMAGES) Questionnaire, 24% of Indian males had at some
point in their life engaged in sexual violence. Our goal in creating this software was
to give women access to a secure environment via smartphones, as most people
carry them around with them these days.
Women's safety has always been a major concern in our nation. This has
become an even more critical problem that needs to be resolved right now due to
the increase in instances that occurred last year. The issue has become so bad
that India is now considered to be one of the top 10 countries in the world where
women are thought to be unsafe or dangerous. In order to ensure that our own
women don't feel uncomfortable, we must reform the current circumstances.
1.1 Background
We can observe how technology is transforming our world today. We
cannot ignore the positive impact that technology has had on society.
Technology advancements have made life easier than ever before.
Technology is evolving quite quickly, as we can see. We cannot deny that
technology is cutting edge because it has a significant impact on every
aspect of our life. People today want their lives to be simpler, thus we need
everything close at hand. We can all agree that the world is becoming more
digital.
Each person therefore aspires to compete with the rest of the world
in all spheres by embracing technological advancements and keeping up
with current trends. One needs to be linked to the people in the area in order
to accomplish this goal. So now the question is, how do we do that?
"Smartphone," one of the major technological innovations, is the
solution to the query. Today's kids refer to their smartphones as "pals." One
can quickly finish chores with just a few finger taps. This would be referred
to as magic if it were introduced to people from the prehistoric era.
To some extent, "It is the magic of technology" holds true.
We delight in this fantastical technological universe. One can
discover everything on this very large platform, from enjoyment to
knowledge. From myths to truths, there are numerous things one can
investigate. Curriculums can be used to learn bookish knowledge. People's
lives have become so dependent on cellphones that it is impossible to
envision them living without them.
The Delhi Nirbhaya case undoubtedly prompted the government to
toughen the law, yet the number of sexual crimes in India has not
diminished. So, it is preferable to take personal safety precautions than to
fall victim to such crimes. The structure of this essay is as follows.
The literature review of the available apps and the associated labour
to create the application are both included in Section-I.
The planned work and the main components of the application are
presented in Section II. As a result, section IV of the document describes
how the application was implemented. The testing outcomes for the
application once it has been installed on the smartphone are shown in
section V.
The study is concluded in part VI, which also provides the work that
will be done in the future to complete the tasks outlined in sections V and VI
of the document.
1.2 Objective:
The safety of women is ensured by this software. To assist the
person in escaping hazardous situations, it is helpful to locate and make use
of resources. When we are in danger, they help us to convey our location to
our contacts and lessen risk.
The creation of a practical tool that may make women feel safer and
more secure in their daily lives is the main goal of an Android women safety
app project. These are some examples of possible app goals:
• Emergency Assistance: The app ought to give women a quick and
simple option to get in touch with someone for assistance in case of an
emergency. Features like a panic button or an emergency contact list
may be included.
• Location Tracking: The app might have a GPS feature that records a
woman's whereabouts in real-time so she can share information with
family members or others she can trust.
• Safety Advice and Resources: The app may include educational
materials on how to be safe, such as details on effective self-defense
strategies and nearby assistance for women who are the victims of
assault or abuse.
• Community Building: The app might offer a venue for connecting with
other women and creating a welcoming community. This could include
tools like forums or chat rooms where women can exchange stories and
provide support and guidance to one another.
• Customization: The software could be altered to accommodate unique
user requirements. Users could opt to get alerts or notifications based
on their location or the time of day, for instance.
• User privacy and security should be given top priority in the app, and
features like end-to-end encryption and two-factor authentication should
be included to safeguard user data.
Ultimately, the goal of an Android project for a women's safety app
should be to offer a comprehensive tool that enables women to feel safe
and secure in their daily lives.
1.3 Purpose, Scope and Applicability
1.3.1 Purpose
The purpose of a women safety tracker app is to provide women with
a tool to help them feel safer and more secure when they are alone or in
potentially dangerous situations. These apps typically offer a range of
features that can help women in a variety of ways, such as:
• Location tracking: The app can use GPS technology to track the
user's location and share it with trusted contacts or emergency
services in case of an emergency.
• Emergency alerts: The app can provide a quick and easy way to call
for help or send an emergency alert to pre-selected contacts in case
of danger.
• Safety tips and advice: The app can offer tips and advice on how to
stay safe in various situations, such as walking alone at night or using
public transportation.
• Community support: The app can connect users with a community of
other women who can offer support and advice on safety-related
issues.
Overall, the purpose of a women safety tracker app is to empower women
and help them take control of their safety, so they can live their lives with
confidence and peace of mind.
1.3.2 Scope
Anyone who has installed this programme on a smart phone or an
Android device can use it. This programme allows users to track the location
of their root device and send that information to the contacts they have
chosen. This application's major goal is to create a low-cost GPS-based
women tracing system that will convey information about the woman to law
enforcement officials so they can save her. It effectively increases women's
security and safety.
The app instructs users to shake their phones or push the power
button when in danger. This records audio and video for 30 seconds, sends
it to the police control centre, and then sends an SMS alert to five friends
and family members as well as a status update on Facebook and Twitter. A
few more apps, such "SOS-Stay Safe" and "0Hour Ladies Safety App," are
based on the same idea as "Himmat".
1.3.3 Applicability
A women's safety tracker app may be useful in a variety of
circumstances where women can feel unsafe or exposed.
Women who must go alone at night for work, education, or other
reasons can feel more secure by using a safety tracker app. Using public
transit: Women can use a safety tracker app to monitor their whereabouts
and alert emergency services or reliable contacts in case of danger when
taking public transportation, especially late at night or in neighbourhoods
with a high crime rate.
Dating or meeting new people: Women can use a safety tracker app
to share their location with a friend or family member or to send an
emergency alert if they feel unsafe while dating or meeting new people.
When travelling alone, whether for business or pleasure, women can use a
safety tracker app to keep track of their whereabouts and alert emergency
services or reliable contacts in case of an emergency.
In conclusion, a women's safety tracker app can be useful in any
circumstance when a woman may feel uncomfortable or vulnerable and can
offer security and peace of mind.
1.4 Achievements
Among the accomplishments a women's safety tracker app can bring
are. Women safety tracker apps can help women feel more secure in
potentially harmful situations, giving them the ability to take charge of their
own safety and security.
Reventing crime a women safety tracker app can assist in reducing
crime and preventing incidents from getting out of hand by giving women a
way to swiftly and conveniently warn emergency services or reliable
contacts in case of danger. Community building by connecting women with
a community of other women who can provide support and guidance on
safety-related concerns, a women safety tracker app can help women feel
a feeling of solidarity and mutual support.
Awareness-raising by encouraging female users of safety tracker
apps to utilise them, the app can assist increase public understanding of the
need to make public spaces safer for women. Life-saving in dire situations,
a women safety tracker app can save lives by allowing emergency
personnel to locate and assist women in need as soon as possible.
A women's safety tracker app can empower women, increase
awareness, foster community, and possibly even save lives, all of which can
have a huge influence on the safety and security of women.
1.5 Organizational Report
A company report for a women's safety tracker. Introduction the
report should give a general summary of the app's functions and goals. Also,
it should explain the backdrop of the need for the app and the problem of
women's safety.
The research should analyze the market for women safety tracker
apps, including a review of the level of competition and the prospective
clientele. The target market and the app's unique selling proposition should
be determined using this study.
Technical information the report needs to include technical
information about the app, such as the development process, the
programming languages and frameworks used, the database systems, and
other technical aspects.
Legal and ethical issues the report needs to discuss the app's legal
and ethical issues, such as data privacy, user safety, and potential liability
problems. Conclusion and suggestions the report should wrap up with a
summary of its findings and suggestions for the app's continued growth.
A full review of the app's features, market potential, technical
specifics, user experience, business strategy, and moral and legal issues
should be included in any organizational report for a ladies safety tracker
app. This study should assist in locating possible growth possibilities as well
as dangers and obstacles, and it should offer suggestions for the app's
continued development and expansion.
The introduction is divided into following categories:
a. Background: The explanation about the context about the project and its
relationship to the work previously done in the domain.
b. Objectives: Comprehensive declaration of the goals and intentions of the
project.
c. Purpose: Description about the project theme that answers the question
about the need of implementing the project.
d. Scope: A overall summary of the methods, theories, limits and future
improvements.
e. Applications: The student must explain the direct and indirect applications
of his work.
f. Achievements: Explains what knowledge the student acquired after the
completion of the project.
Chapter 2
Review Of Technologies
2.1 Technologies Available for Development
This section will explain the technologies used to develop this
Project. Choosing a particular technology is the most important and
responsible task for any project. Here we will discuss the technologies being
used to create this project. The mobile app development sector is grown in
recent years and it is in the boom in the market. There are a few advances
for portable applications generally used for a certain point or for the
improvement of multi-stage applications. In India, the biggest utilization of
cell phones is worked with the Android working framework and is perfect
with Android applications.
Android application development tools and technologies refer to
various tools and software programming languages used to perform the
various activities involved in developing android applications.
2.2 Review of Similar Product
A comparison of similar women's safety tracker applications can assist design an
app that stands out in the market by highlighting the advantages and
disadvantages of the competition. Following are some salient characteristics of
several related products:
1. Safety pin: This app provides a number of functions, such as emergency
alerts, real-time location monitoring, and safety rankings for various locales.
Additionally, it has a function that allows users to instantly summon a taxi or
ride-hailing service from the app as well as safety guidance and tips.
2. We Safe: This app offers location tracking, emergency notifications, and a
"Follow Me" function that lets friends and family follow the user's
whereabouts in real time. A voice alarm that can be secretly set off in an
emergency as well as a fake call feature are also included.
3. Circle of 6: Users of this app can choose up to six people to be notified in
case of emergency. It also has features to call emergency services
immediately from the app and to seek a safe ride from a pre-selected
contact.
4. React Mobile: This program offers real-time location monitoring,
emergency notifications, and a "Follow Me" function that lets friends and
family follow the user. It also has a discrete panic button that can be used
in an emergency.
2.3 Tools and Techniques Used:
Database Required:
NoSQL:
A NoSQL database, which originally stood for "non-SQL" or "non-relational,"
provides a method for storing and retrieving data that is modelled differently from
the tabular relations used in relational databases. Big data and real-time web
applications increasingly use NoSQL databases. In order to emphasize that
NoSQL systems may support SQL-like query languages or coexist with SQL
databases in polyglot-persistent architectures, they are sometimes referred to as
Not Only SQL.
This method was chosen for its simplicity of design, ease of "horizontal"
scaling to machine clusters (which is problematic for relational databases), finer
control over availability, and restriction of the object-oriented The best NoSQL
database for the job at hand depends on the problem that needs to be solved. The
consistency (as defined by the CAP theorem) of many NoSQL stores is sacrificed
in favor of availability, partition tolerance, and speed.
Additionally, the "flexibility" of NoSQL databases' data structures is
sometimes compared to that of relational databases' tables. A number of factors
prevent the widespread use of NoSQL stores, including the use of low-level query
languages (instead of SQL), the inability to perform ad hoc joins across tables, the
absence of standardized interfaces, and sizable prior investments in relational
databases. True ACID transactions are not supported by the majority of NoSQL
stores, despite the fact that some databases have made them a key component of
their designs.
Data consistency is a difficult problem for both NoSQL and relational
databases, and it becomes even more difficult for distributed transaction
processing across multiple databases. The majority of NoSQL databases instead
provide the idea of "eventual consistency," in which database changes are
"eventually" propagated to all nodes (typically within milliseconds). As a result,
queries for data may not immediately return updated data or may read inaccurate
data, a problem known as stale reads. Referential integrity constraints cannot cross
databases in relational databases.
Few systems maintain both ACID transactions and X/Open XA standards
for distributed transaction processing. Interactive relational databases have a
common feature called conformational relay analysis. Semantic virtualization
protocols are used to get around interface environment restrictions so that most
operating systems can use NoSQL services.
There are three main types of databases:
1. RDBMS (Relational Database Management System)
2. OLAP (Online Analytical Processing)
3. NoSQL (recently developed database)
NoSQL Database refers to a newly developed database that does not use
SQL or is not a relational database.
OLAP stands for Online Analytical Processing.
RDBMS stands for Relational Database Management System.
It offers an alternative approach to relational databases' tabular relations
model for storing and retrieving data. In a NoSQL database, information is not
kept in tables. It is typically used for big data storage and real-time web
applications.
The use of Flat File Systems in the early 1970s marked the beginning of
NoSQL databases.
The biggest problem with flat files is that there are no industry standards
and that every business uses its own version of them.
It is very challenging to store data in files and retrieve data from files
because there is no industry-standard method for doing so.
Following that, E.F. Codd created the relational database, which offered
a solution to the issue of there being no common way to store data.
Figure 2. 1 Types of no SQL Database
Benefits of NoSQL:
✓ The query language is supported.
✓ It delivers quick results.
✓ Horizontal scalability is provided by it.
Many other similar Databases Are as Follows:
Cloud Database:
In a cloud database, data is processed over a cloud computing platform
and stored in a virtual environment.
In addition to other cloud computing services, it provides SaaS, PaaS,
and IaaS in order to access the database.
There are mania cloud computing platforms available, but the top ones
are:
Google Cloud SQL, Kama tera, Phocine, Science Soft, and Microsoft Azure are
some examples.
• Firebase:
Google's backend service Firebase has a lot of helpful features for both mobile
and web apps. The following are some of the functionalities that Firebase offers:
1. Real-time Database - A NoSQL database can be used to store and sync
data among users and devices. All linked devices receive the new data very
rapidly, and it is retained even while the app is offline.
2. Authentication - offers a quick and safe approach to control who can use
the app. It offers a variety of authentication options, including using your
existing account system directly, your email and password, and third-party
sources like Google or Facebook.
3. Cloud Functions - This feature enables developers to add custom backend
logic to existing apps without having to manage their own servers. Events
that are generated by Firebase, Google Cloud services, and other third-
party services can start the functions.
4. Cloud Storage - Object storage designed for Google scale can be used to
store user-generated content like images, audio, and video. Your Firebase
apps' file uploads and downloads now have Google security thanks to the
Firebase SDKs for Cloud Storage.
5. Hosting - streamlines the hosting of web applications by automatically
distributing updated web assets. Giving them a free SSL certificate and
Firebase's worldwide CDN will ensure that app users have a secure,
dependable, and low-latency experience.
• Android Studio:
Android may be a mobile operating system built on the Linux platform. There
is a tonne of code, including libraries and operational frameworks. In the month of
Gregorian calendar 2005, Google and the Open Telephone Collusion had
produced it. Because it is free and open source, this software enables developers
and manufacturers to create applications without restriction.
A wide range of development tools, including a debugger, libraries, and an
emulator based on a QEMU-based phone, are included with the SDK. The Shroud
programming, which makes use of Android development tools, is an integrated
development environment (IDE) that is supported for the development of Android
application. Android Studio is an integrated development environment (IDE) for
Google
Operating system for Android. It is made primarily for developing
applications for Android smartphones and is based on JetBrains' IntelliJ IDEA
Community Edition.
The following are some of the main features of Android Studio:
1. Instant Run, a function that sends code and resource updates to
an app that is already executing. It enables modifications to be done
to the app without the need to restart it or rebuild the APK, allowing
for immediate visibility of the consequences.
2. A simulated Android device known as an emulator, which can
imitate a range of hardware features like GPS position, network
latency, motion sensors, and multi-touch input, can be used to run
and install the programme. It can then be applied to testing.
Testing Tools and Frameworks - Android Studio comes with a variety of
testing tools, including JUnit 4 and functional UI test frameworks. By recording the
developer's interactions with the application on a device or emulator, Espresso
Test Recorder can produce UI test code. The tests can be executed in Firebase
Test Lab, on a device, on an emulator, or in a continuous integration environment.
2.4 Programming Languages, Framework and Libraries
Used for Development
➢ XML:
The text language known as XML, or Extensible Markup Language, can be
used to specify how programming languages that parse them behave. In 1996, the
XML Working Group created XML. The World Wide Web Consortium lists 10
design objectives for XML. These design objectives are:
• XML must be easily accessible over the Internet.
• XML must be compatible with a wide range of applications.
• XML and SGML must be compatible.
• Writing programmes to process XML documents should be simple.
• As much as possible, and ideally none, optional features in XML
should be reduced to a minimum.
• XML texts ought to be relatively clear and readable by humans.
• The XML design should be created as soon as possible.
• XML must have a formal and clear design.
• It must be simple to construct XML documents.
• XML mark-up terseness is not really important.
Both the visual design of Android applications and the data transmission from
the database to the client require XML. Data is transferred via XML when it is sent
from the database. Since the data is always sent using XML, this enables the data
to be handled by any programming language in the same manner.
As already noted, designing the user interface of Android applications also uses
XML. This indicates that XML is used to specify every visual aspect of the page,
including the layout, the location of each button and text field, and the colour of
every element. Designing a page for the app is rather simple and intuitive because
XML is human-legible.
➢ Java or Kotlin
Java has long been the preferred language for creating Android apps, but Kotlin
has recently grown in acceptance thanks to its clarity, security, and usability.
➢ Android Studio
The official integrated development environment (IDE) for creating Android
apps is called Android Studio. It offers a variety of tools, including as a visual layout
editor and an emulator for testing apps on various devices, for creating, testing,
and debugging Android apps.
➢ Android SDK
The Android Software Development Kit (SDK) offers a selection of tools and
libraries for creating Android applications. It has functions like UI elements,
networking libraries, and database administration utilities.
CHAPTER 3
Software Requirement Specifications
3.1 Problem Definition
A woman safety tracker app's problem definition can be summed up as
follows:
Violence against women occurs frequently and includes sex harassment,
physical assault, and domestic abuse. These occurrences can happen anywhere,
including on the street, in a public vehicle, at work, and even at home. Women
require a dependable and efficient means of self-defence and assistance when in
peril.
A women's safety tracker app can be created to solve this problem and give
women a sense of security and support. The software enables users to access
emergency services, transmit distress signals in case of danger, and share their
position with trusted friends. In addition, the app can offer details on safe areas,
self-defence methods, and legal resources.
In order to empower women and ensure their safety in all circumstances,
the app should be created. Regardless of their socioeconomic status, all women
should be able to use it easily and safely. The creation of such an app can support
women's safety and work towards making society more secure overall.
3.2 Requirement Analysis
Requirement analysis is an important step in the development of a women
safety tracker app. Here are some of the key requirements that should be
considered:
1. User Interface: The app should have a user-friendly interface that is easy
to navigate and use. It should be accessible to all users, regardless of their
technical expertise.
2. Location Tracking: The app should be able to track the user's location in
real-time and provide alerts in case of danger.
3. Emergency Contacts: The app should allow users to add emergency
contacts who can be notified in case of an emergency.
4. Distress Signals: The app should have a distress signal feature that allows
users to quickly notify their emergency contacts or call for help.
5. Safe Locations: The app should provide information on safe locations,
such as hospitals, police stations, and women's shelters.
6. Self-Defence Techniques: The app can provide information on self-
defence techniques and resources.
7. Legal Resources: The app can provide information on legal resources for
victims of violence, such as legal aid clinics and hotlines.
8. Privacy and Security: The app should be designed with strong privacy and
security measures to protect user data and prevent unauthorized access.
9. Compatibility: The app should be compatible with different Android devices
and operating systems.
10. Testing and Feedback: The app should undergo rigorous testing to ensure
its effectiveness and receive feedback from users to improve its
functionality.
Overall, the requirement analysis should be based on the needs and
expectations of the target user group, with a focus on ensuring the app is effective
in promoting women's safety and well-being.
The system requirements are covered in this section, regardless of how they
might be satisfied. The tasks that can be performed on the items are described in
the requirements specification. It is aware of how the current system works and its
issues.
This system's requirements outline what it must accomplish, including what
it must carry out when users issue commands.
The framework's main goal is to boost the effectiveness of the existing
framework. The determination of the conditions is crucial for that investigation. A
fundamental evaluation was intended to improve the new undertaking of the new
framework. The examination also looked at other capabilities both inside and
outside the framework.
Re
Ty qui
User
pe re Non-Functional
s me
of nts Software
Functional
Specifications
Figure 3. 1 Types of Requirements
3.3 Software and Hardware Requirement
It describes the specifics and provides an explanation of all the hardware
and software required for the project's development and implementation.
1. Hardware requirements: This section lists the hardware needed to execute
the software, such as a mouse, graphic card, numeric co-processor, disc
space, and RAM.
2. Software requirements: This section discusses the software needed to
compile, link, and install the software, such as the operating system,
compiler, testing tools, linker, and the essential libraries.
3.3.1 Hardware Requirement
- Processor: Intel(R) Core (TM) i5-5200u CPU@ 1.6 GHz.
- Memory: 4GB RAM for faster speed we can use 8GB RAM.
- System Type: 64bit Operating System.
- 1280 x 800 Least Screen resolution
- Intel Integrated HD Graphics 520.
3.3.2 Software Requirement
- Front-end: Android studio.
- Back-end: Firebase.
- Database: Firebase real-time
- Android studio version 3 or above
- Testing tool according to the project SDK (Software Development Kit)
for android
3.4 Planning and Scheduling
The challenging aspect of software development is planning and
scheduling. Identifying all the tasks necessary to complete the project's goal can
be viewed as planning. Constraints are taken into account during the planning
process to help manage tasks that are either achievable or impossible to complete.
The use of suitable resources to carry out the plan might be considered
while scheduling. The Gantt chart and Program Evaluation Review Method should
be displayed by the student (PERT).
Planning is typically based on the aforementioned components and varies
depending on the framework, the programming of the frameworks, or the
preferences and objectives of the client. Planning is currently not a major problem
because most procedures and applications are given rules with additional assets,
but the scheduler is still diligently at work managing demands because devices like
smartphones, computers, and other devices with a portion of handing power and
various assets are able to perform various tasks by running many tasks/strings or
pipelines simultaneously.
Gantt charts are used for sophisticated project analysis. They assist in
organising each task that must be carried out as part of the project. It provides a
schedule for how each task will be carried out and finished. We may check if the
project is on schedule using Gantt charts. The purpose of creating a Gantt chart is
to correctly schedule tasks and allot enough time for each one. It bases its
assumptions on how and when the project will be finished, as well as how long it
will take.
Planning:
Sr. Task Name Duration Start Date Finish Date
No: (Days)
1 Project topic deciding 5 28-06-2022 02-07-2022
2 Collecting data 5 03-07-2022 07-07-2022
3 Problem Definition 7 08-07-2022 14-07-2022
4 System design 10 30-07-2022 08-08-2022
5 Problem evaluation 4 19-08-2022 22-08-2022
6 Define function and 11 31-08-2022 11-09-2022
behaviour
7 Requirement analysis 13 12-09-2022 24-09-2022
8 Implementation and 25 01-12-2022 25-12-2022
coding
9 Unit testing 20 30-12-2022 18-01-2023
10 Integration and 20 18-01-2023 06-02-2023
Validation
11 System testing 10 15-02-2023 25-02-2023
Table 3. 1 Project Planning
Gantt Chart:
28-Jun 17-Aug 06-Oct 25-Nov 14-Jan 05-Mar
Project topic deciding
Collecting data
Problem Definition
System design
Problem evaluation
Define function and behaviour
Requirement analysis
Implementation and coding
Unit testing
Integration and Validation
System testing
Table 3. 2 Gantt Chart
3.5 Conceptual Models
A women's safety tracker app can be designed with various conceptual
models that can help enhance its usability and effectiveness in ensuring the
safety of women. Here are some potential conceptual models:
▪ Location-Based Model: This model uses the location of the user to track
their safety status. The app can send alerts to designated contacts or
emergency services if the user is in danger or needs assistance. This model
can also include features such as safe routes to take and real-time safety
tips for the user's current location.
▪ Community-Based Model: This model involves building a community of
users who can support each other in case of an emergency. The app can
allow users to connect with other nearby users, report safety concerns in
their neighbourhood, and receive safety alerts from other users in their
community.
▪ Prevention-Based Model: This model focuses on preventing incidents
before they occur. The app can include features such as self-defence
tutorials, safety tips, and reminders for users to check in with designated
contacts regularly.
▪ Emergency-Based Model: This model is designed for users who are in
immediate danger. The app can include an SOS button that can be pressed
to send an emergency alert to designated contacts or emergency services,
along with the user's location.
▪ Personalized Model: This model takes into account the user's personal
preferences and needs. The app can allow users to customize their safety
settings and alerts based on their daily routines and activities.
These are just a few conceptual models that can be used to design a
women's safety tracker app. The actual implementation will depend on the
specific needs and goals of the app.
Block Diagram
Figure 3. 2 Block Diagram
Several functions surround the application module that is at the centre.
When you need assistance, Emergency Notification will let your contacts know,
and it will also let them know when you are safe (I am safe). You must enter your
crucial contacts under Manage list contacts. There is a contact limit. The contacts
you have entered will be stored after you click submit. We can incorporate Google
Maps into our application thanks to Geofence. Each place, as well as many routes,
can be displayed on a map, etc. The map can also be altered to suit your
preferences. We can also modify the map type by using the Google Maps object.
We can also modify the map type by using the Google Maps object. By pressing
the standard call button during a regular call or an emergency call, a person in
danger can use this feature to call the person who is first on their list of contacts
right away.
System Architecture
Figure 3. 3 System Architecture
When registering, we first collected the user's name, contact information
(including name, address, and email), password, and numbers. The user's phone
number must then be collected for the add numbers feature, and the geofence
feature is for the location where the user's location can be shared in an emergency
with her chosen contacts. The consumer can get in touch with us via call or
message whenever necessary.
Sequence Diagram
Figure 3. 4 Sequence Diagram
Data Flow Diagrams
A data flow diagram is a graphical tool used to describe and analyze the
movement of data through a system. It is also known as a "bubble Chart" and is
the starting point of the design to the lowest level of detail. It consists of a series of
bubbles joined by data flows in the system. The transformation of data from input
to output is described logically and independently of physical components
associated with the system.
Salient features of DFD:
▪ The DFD shows the flow of data, not of control loops, and decisions are
controlled; considerations do not appear on a DFD.
▪ The DFD does not indicate the time factor involved in any process whether
the dataflow takes place daily, weekly, monthly, or yearly.
▪ The sequence of events is not brought out on the DFD.
Constructing a DFD:
The most important details are the rules of thumb for drawing DFD'S: the
process should be named and numbered for easy reference, the direction of flow
should be from top to bottom and from left to right, the names of data stores and
destinations should be capitalized, the minimum contents of the data store should
contain all the data elements that flow in and out, and missing interfaces
redundancies and like should be accounted for through interviews.
Figure 3. 5 : Data Flow Diagram Level 1
Figure 3. 6 Data Flow Diagram Level 2
Activity Diagram
Activity diagrams symbols meanings and rules:
• Start: The start mode represents the start of a particular activity, it is
represented as a filled circle
• End: The end node represents the end of the activity, the entire system has
only one end node. It represented as a circle with a part of its filled.
• Activity: The activity symbol is the main component of an activity diagram.
They indicate the main activities performed in the system
• Connector: A connector in the activity represents the flow of the system.
• Decision: The decision part is represented by a diamond shape which acts
as a decision maker based on some conditions and do the actions
accordingly.
• Fork: A fork symbol is used to represent that a single activity is split into
multiple activities
• Join: The join concept is used in an activity diagram to merge two
related activities and then give them as a single activity.
Figure 3. 7 Activity Diagram
Use Case Diagram
Actor:
Use case: Use case in a system represents the various functions
performed in the system. It is represented with an oval with the name
written inside.
Association: Association is a link between the actor the use case, it
represents the action performed by the actor.
System: this is used to represent the scope of a use case.
Include Relationship:
Extend Relationships:
Figure 3. 8 Use Case Diagram
CHAPTER 4
SYSTEM DESIGN
4.1 Basic Module
Students are advised to use the divide and conquer strategy in this section.
It advises students to separate their difficulties into smaller manageable
components and work on each component independently. The student should then
combine all the components into one system after this. This reduces
misunderstanding and makes the task simple. The students must make sure that
they briefly summarise each module's purpose.
It addresses the considerations regarding the system's operation following
installation. Users would benefit from the proposed system because it meets all of
their needs.
This project can be implemented because it meets all of the needs of the
users. Here, every operational aspect is carefully considered.
We will only be able to lessen the likelihood of extreme embracement at later
stages of a project if we allocate funds to evaluate feasibility.
• The proposed system has the following advantages:
• The capacity to handle a large amount of data
• The ability to retrieve information quickly and accurately
• Security features based on user roles
• The ease with which reports can be generated
4.2 Data Design
The organisation, management, and manipulation of data will be covered in this
part.
➢ Schema design: It outlines the project's structure and schemas.
➢ Data integrity and restrictions: Describes all the validity checks and
restrictions offered to protect data integrity.
➢ Procedural Design: The development of algorithms and procedures
is done schematically using procedural design.
➢ Logic Diagrams: Logic diagrams assist programmers understand
procedures better and aid in their implementation by defining their
schematic flow. Examples include control flow charts and process
diagrams.
➢ Data Structure: Construct and specify the data structures that will be
used in procedures.
➢ Algorithm design: It shows how to properly explain input data, output
data, process logic, design, and how algorithms function.
The identification and retrieval of information items is made easier
by code.
A code is a logical collection of symbols intended to provide an
individual identification number for an entity or property. Only one place
in the code can contain the identified object or attribute in order to
achieve a unique Idling contrast, everything that needs to be determined
must be included in the code.
Any coding system must include this feature, which does not exist
together. This system's codes are made with two things in mind: optimal
use with a focus on humans and machine efficiency. Because of the
unique structure of the code, only one value with the same meaning can
be applied to a given entity or attributes correctly.
a. The code structure is extensible, facilitating the expansion of its entity
and attribute set.
b. The code is short and to the point for efficiency in recording,
communication, transmission, and storage.
c. They are the same size and shape.
d. The codes are clear and straightforward, making it easy for the user
to comprehend them.
e. The codes are also adaptable, which means that they are simple to
modify to reflect necessary changes in the encode entities'
relationships, characteristics, and conditions.
f. Reports can be prepared in a predetermined order of format by
simply storing the codes.
g. The codes are also stable and don't need to be updated often, which
makes them easier for users to use.
h. They are additionally operable, i.e., they are satisfactory for present
and expect information handling both for machine and Malian use.
Input Design:
As a component of the system's overall design, input design requires
careful consideration. The primary goals of the input design are as follows:
• To come up with a method of input that saves money.
• To attain the highest level of precision possible.
• To guarantee that the user staff accepts and comprehends the input.
• Pushbuttons are provided on each screen to help users use the system
effectively.
Yield Plan:
Computer system outputs are used to convey processing results to users
and provide a permanent hard copy of these results for review. Outputs include
outward results, inward results, operation outputs, interactive outputs, and program
listings and usage statistics. Interactive outputs put the user in direct
communication with the computers.
4.3 System Design
Designing a women's safety tracker app requires careful consideration of the
features and functionality that the app should provide. Here are some steps to
follow:
✓ Identify the target audience: The first step is to identify the target audience
and their needs. In this case, the target audience is women who want to feel
safe and secure while traveling alone.
✓ Define the requirements: Once the target audience is identified, you need
to define the app's requirements. These requirements should be based on
the problems that women face while traveling alone. For example, the app
should be able to track the user's location in real-time and send alerts in
case of any danger.
✓ Choose the technology stack: After defining the requirements, choose the
technology stack that you will use to build the app. Consider using a robust
and scalable tech stack, such as Node.js, React Native, MongoDB, and
AWS.
✓ Design the architecture: Design the architecture of the app to ensure that it
is scalable, reliable, and secure. Use a microservices architecture to make
the app modular and easy to maintain. Use REST APIs for communication
between the different components.
✓ Design the user interface: Design an intuitive and user-friendly interface that
is easy to use and navigate. Keep in mind that the app should be accessible
to users with disabilities.
✓ Implement the features: Implement the features based on the requirements
that you defined earlier. These features may include location tracking,
emergency contacts, panic button, and SOS alerts.
✓ Test the app: Test the app thoroughly to ensure that it is working as
expected. Use automated testing tools to identify bugs and issues early in
the development process.
✓ Deploy the app: Deploy the app to the app store and make it available to
users. Use a continuous integration and delivery process to ensure that
updates are deployed smoothly.
✓ Maintain and update the app: Maintain and update the app regularly to fix
bugs and improve functionality. Gather feedback from users to identify
areas for improvement and prioritize new features based on user needs.
In conclusion, designing a women's safety tracker app requires careful
consideration of the target audience, requirements, technology stack, architecture,
user interface, features, testing, deployment, maintenance, and updates. With
these steps in mind, you can build a robust and reliable app that helps women feel
safe and secure while traveling alone.
4.4 Procedural Design
Procedural design for a women's safety tracker app project can be broken down
into the following steps:
User registration and login: Users will need to register with the app and
create a secure login. This will allow the app to associate user data with
their account and ensure that only authorized users have access to the
app's features.
Location tracking: The app should be able to track the user's location in real-
time using GPS or other location services. This will allow the app to provide
accurate information about the user's location and notify emergency
contacts or authorities if necessary.
Emergency contacts: Users should be able to add emergency contacts to
their account. These contacts should be notified if the user triggers a panic
button or enters an unsafe area. The app should provide an easy way for
users to add, edit, and delete emergency contacts.
Panic button: The app should include a panic button that users can use to
immediately notify their emergency contacts and authorities. When the
panic button is triggered, the app should send a notification to all emergency
contacts with the user's location and any other relevant information.
Safe routes: The app can provide users with suggested safe routes to their
destination based on real-time data about crime and safety in the area.
Users should be able to input their destination and the app will suggest the
safest route to take.
Personal safety tips: The app can provide users with personal safety tips,
such as how to identify and avoid dangerous situations, how to react in case
of an emergency, and what to do if they feel threatened.
Reporting tool: The app should include a reporting tool that allows users to
report incidents or suspicious activity. This information can be used to
improve safety in the community and provide users with real-time
information about potential dangers.
4.5 Algorithm Design
Registration Process:
Step 1: Start
Step 2: Enter all details.
Step 3: Verify the details.
Step 4: Successfully registered.
Step 5: End
User Login:
Step 1: Start
Step 2: Register 5 contacts
Step 3: Emergency call and SMS
Step 4: Fake call
Step 5: Self-defence tips and tricks
Step 6: Buzzer
Step 7: Shortest root
Step 8: Location share
Step 9: Log out successfully
Step 10: End.
4.6 User Interface Design
Figure 4. 1 User Acceptance Page
Figure 4. 2 SIGN IN Page
Figure 4. 3 Sign up and Register Page
Figure 4. 4 Share Incident Page with Emergency Contact
Figure 4. 5 Complaint about Incident officially
Figure 4. 6 Incident and Menu Page
Figure 4. 7 Legal Resources Page
Figure 4. 8 Help and Contact Us page
4.7 Security Issues
The significant risk parameters are incorporated into the security levels, and
these levels collectively determine the application security level.
The fundamental responsibility to take into account application
advancements anticipated to ensure user information. If the information isn't
secure, then someone from the outside might have access to it.
There are a few focuses that should be taken into account. As follows:
1. Insecure Data Storage
a. The lack of secure data storage in popular mobile applications
is another security flaw.
b. Developers frequently rely on the customer's memory to store
the data.
c. However, the client storage is not a completely secure
environment where security breaches are unheard of.
d. If an adversary obtains a mobile device, this data is easily
accessible, manipulatable, and usable.
e. This significantly improves mobile applications' security and
lessens their reliance on the built-in cryptography.
2. Poor Authentication
a. If authentication is poor, the application's data is insecure.
3. Data Duplication
a. Possibility of data duplication exists.
b. Email and phone number data duplication should be possible.
4. Data Storage
a. Data is stored in databases, and there is a risk of data leakage
because the servers are kept in various locations across
different countries.
5. Secure Communication
a. After securing the devices, the next security challenge is to
guarantee that communication between those devices and the
cloud is secure. Since the majority of Android devices lack
powerful processing capabilities, they are unable to encrypt
data before sending it to the cloud. Fortunately, we can use a
quick and simple algorithm to transfer data securely from the
devices to the cloud.
b. To ensure that no one can access this data; however, since
Android devices are not very powerful, we are unable to
perform this process using sophisticated algorithms.
6. Authorize and Authenticate Device
a. The authorization and verification of the customer are of
paramount concern with many of the devices that are
suggesting potential sources of failure in the Android
framework because the vast majority of android devices can
be successfully hacked as they are connected to the system.
In order to ensure that the devices are properly approved and
that only the verified client can access these devices, we can
use two factor authentication and require the client to use a
strong secret key.
Once a user has been given access to a page, they should keep their
password and identification information to themselves.
4.8 Test Cases Design
Test cases are a set of inputs or commands with the expected outputs listed;
they are intended to assist programmers in resolving errors.
The project is only sent to the user if all test cases are passed; if not, it is
continuously modified, then checked again for errors, and all reports are
documented.
Following is a list of the various test cases needed for this project, along
with their inputs and outputs:
Test Case 1: Requirements gathered and specification of system
In this test case the requirements are gathered from the user and if
the user specifies all the system requirements at the start of the system,
then the developers can accordingly change it and then start work on the
system.
Test Case 2: Technology to be used
Sometimes the user is not from a technical background and hence
may suggest to use some particular technology just because it is been used
by some other competitor company which may lead to development
problems.
Test Case 3: Scheduling of activities and scheduling of resources
The system which is created should save time and efforts which are
required to choose them accordingly.
Test Case 4: User Interface
If a user has never used an application, they may find the user
interface to be complex, whereas another user may find it to be
straightforward. As a result, we cannot perfectly comply with this
requirement, but we do our best. The requirement is satisfied if the user is
happy.
Test Case 5: Cost Determination
In this test case, the project's overall cost is determined, and then it
is determined whether the user requirements can fit within a certain cost
range.
Test Case 6: Response Time
This application will complete any task in under a second.
CHAPTER 5
IMPLEMENTATION AND TESTING
5.1 Implementation Approaches
There are several implementations approaches for a women safety
app, depending on the specific goals and requirements of the app. Here are
some common approaches:
➢ Emergency response: One approach is to create an app that provides
immediate assistance in emergency situations. This could include
features such as a panic button, which when pressed sends an alert to
a designated contact or emergency services with the user's location. The
app could also include features such as audio or video recording, which
could help capture evidence in case of an attack.
➢ Safety tips and education: Another approach is to create an app that
provides safety tips and education for women. This could include
information on self-defence techniques, tips for staying safe when
walking alone at night, and resources for reporting incidents of
harassment or violence.
➢ Location-based services: An app could leverage location-based services
to help women navigate safely through their environment. This could
include mapping out safe routes and providing real-time information on
potential safety risks in certain areas.
➢ Community-based approach: An app could also create a community-
based approach to women's safety, where users can share information
and tips with each other. The app could include a feature where users
can report incidents of harassment or violence and warn others in the
community about potential dangers.
➢ Wearable devices: Finally, an app could be paired with wearable devices
such as smartwatches or bracelets that can detect unusual movements
or sounds and alert emergency services or designated contacts in case
of an emergency.
➢ It is important to keep in mind that the success of a women safety app
will depend on the needs of the target audience and the app's ability to
effectively address those needs. A user-centre approach that involves
feedback from potential users during the development process can be
helpful in creating an app that is both useful and effective.
5.2 Code Details and Code Efficiency
A women safety app project would typically involve developing an
application that can help women feel more secure while they are out in public. This
may include features such as emergency contacts, GPS tracking, and alerts that
can be triggered in the event of an emergency.
In terms of coding details, the app would likely be developed using a mobile
application development framework such as React Native, Flutter or Xamarin.
These frameworks allow for the creation of cross-platform applications that can run
on both iOS and Android devices.
The app would require a database to store user information and
preferences, such as emergency contacts and location data. A popular database
option for mobile applications is Firebase, which provides a real-time database that
can be easily integrated into the app.
In terms of code efficiency, it is important to ensure that the app is optimized
for performance and battery life, as users will likely be using it for extended periods
of time. This can be achieved by minimizing the amount of data that is sent and
received by the app, using efficient algorithms for processing and displaying data,
and minimizing the use of background processes that can drain the device's
battery.
Overall, developing a women safety app project would require expertise in
mobile application development, database management, and user interface
design, as well as a thorough understanding of the specific features and
requirements of the application. It is important to prioritize both the functionality
and the efficiency of the app to ensure that it provides a reliable and effective
solution for women's safety.
5.3 Testing Approach
Developers can evaluate a product by looking at its components and
construction, or by using it and analysing the consequences.
The test approach is a method for creating a project's testing strategy that
specifies how testing should be carried out. Testing activities can be spread out
over the course of the life cycle because each testing level is associated with a
certain SDLC phase.
These are the two testing techniques:
o Proactive: A method that starts testing as soon as feasible during the design
phase to identify and fix defects before the product is constructed.
o Reactive: A method where testing is started after the design and coding
phases of the product.
5.3.1 Unit Testing
The main ambition of unit testing is to review the smallest components of
the product’s structure, which may be module or piece of code. Unit testing is set
up in a white box manner. Each component of the project framework undergoes
unit testing.
The programmer himself tests each module as part of unit testing strategy
to regulate whether there are any complications. The practical accuracy of the
independent module is the main ambition of the unit testing. A project is a collection
of the modules that united together to form an integrated system. These modules
can be understood as system unit. A system is created by integrating several
components.
Figure 5. 1 Unit Testing Lifecycle
5.3.1.1 Unit Testing Techniques:
➢ Black Box Testing:
This Technique comprises testing a unit’s functionality without taking into
account how the code is formulated inside. Testers without the access of the
source code customarily carry out this process.
➢ White Box Testing:
This Technique comprise of examining the nucleus logic and design of the code
to make sure that each and every component functions as intended. Testers
with thorough understanding of the nucleus code usually carry out this process.
➢ Behaviour-Driven Development (BDD):
This Technique comprise creating tests thar are very concerned with the
system’s behaviour than its components. It serves in ensuring that the software
compiles with organizational needs.
➢ Test-Driven Development (TDD):
Writing tests comes early when using the test-driven development (TDD)
technique. It is very efficient technique for assuring that the code is meticulously
examined and complies with the specifications.
➢ Boundary Value Analysis:
This Technique comprise checking the input parameter’s hysterical values to
make sure that the code can handle them perfectly. Finding fringe scenarios
that may lead to production issues is helpful.
➢ Code Coverage:
Measure the extent of the code that is enveloped by the unit testing using code
coverage technique. It diminishes the probability of defects going uncharted by
ensuring that every component of the code is tested.
➢ Mocking:
Replicating the actions of the dependents that the unit depends on is the
technique of mocking. It helps in shortening the testing period and is effective
for testing units separately.
5.3.2 Integration Testing
The integration testing’s ambition is to test when every single unit is
integrated and review its performance collectively.
✓ To investigate the problems of coordination between individual
components
✓ Integration testing is assisted by the use of test pilots and test
stubs.
5.3.2.1 Methods:
❖ Integration testing could be carried out using any technique such
as black-box, white-box, and grey-box testing. The unit’s
definition consequences the testing options
❖ When do we supervise Integration Testing?
The following method of testing, which happens after unit testing and
before system testing, is termed as integration testing.
❖ Who is responsible for Integration Testing?
The testers or programmers conduct integration testing.
5.3.2.2 Approaches:
➢ Bottom-up Technique: Basic units are checked initially.
➢ Top-down Technique: Top-level units are tested initially
using this approach.
➢ Big Bang Technique: All units are integrated and then
tested synchronously.
Subsequent unit testing, now it is the time for integrating the
project by linking all the components of the project and test them as a
whole system to identify any flaws, errors, or bugs.
5.3.3 Functional Testing
Functional testing substantially involves testing component’s function or the
system’s functions. Functional Testing is customarily used to conform that the
software is generating the same outcomes as for what the customer or organization
has expected. Function testing often comprises of assessing and contrasting each
and every software function with the organization’s requirements.
The program is tested by distributing it some admissible inputs, granting the
output to be assessed to see if it complies to, or deviates from its fundamental
requirements. Furthermore, functional testing examines the software’s applicability
by verifying that navigational features operate as predetermined. White Box, Black
Box, Unit testing, Smoke testing and User acceptance testing are few functional
testing techniques.
Figure 5. 2 Functional Testing
5.3.3.1 Black Box Testing:
In this category of testing, the main focus is not on the system’s
structure. In Black Box testing, the tester is solely aware of the inputs that
can be provided to the program and the predetermined outputs. In functional
testing, test cases are rejected on the ground of the programs or module’s
requirements or specifications.
The drafting of the test cases is solely based on the requirements of
the programs or module’s specification. The gaps of the modules are not
taken into account.
Black Box testing has the following disadvantages:
➢ Configuring test cases without precise functional specification
is troublesome.
➢ Given the narrow testing window, it is challenging to pinpoint
every potential input. As a result, creating test cases may be
burdensome and slow.
➢ If the test cases are not configured based on specifications, it
is difficult to identify intricate inputs.
Black Box testing has the following advantages:
➢ Effective when applied to extensive systems.
➢ A non-technical testing is possible.
➢ Test cases must be configured as shortly as the functional
specifications are completed.
➢ Testing helps to identify indefinite and contradictions in
functional specifications.
➢ Testing is impartial and balanced because the developer and
tester are autonomous of one another.
➢ The doesn’t requisite in-depth system functional knowledge of
the system.
➢ End user should accept the system, so tests will be managed
their perspective.
5.3.3.2 White Box Testing:
It is a technique that looks at the project’s architecture and creates
test data from code and logic of the program. Open box, Clear Box, path
driven, logic driven and structural testing are supplementary terms for glass
box testing.
o Path coverage:
o This methodology correlates to testing all possible paths which
means that each sentence and branch is enveloped.
o Statement coverage:
o This methodology is intended at exercising all programming
statements with minimal testing.
o Branch coverage:
o This methodology is running a sequence of tests to assure all
branches are tested at most once.
White Box has following disadvantage:
➢ Every chance that few lines of code would be involuntarily
overlooked.
➢ Extravagant, as it requisite both temporal and monetary to
conduct.
➢ To perform white box testing, thorough programming
language knowledge is required.
White Box has following advantages:
➢ Unveil “hidden” code errors.
➢ It makes test developers think thoughtfully about
implementation.
➢ Recognizes Dead code and other problems that relates to
outstanding programming practices.
5.3.3.3 Gray box Testing:
It is a form of software testing methodology that amalgamate various
elements of white box and black box testing. The testing allows for better
understanding of the system and pinpoint their testing efforts, while still
preserving most of the objectivity and independence of black-box testing.
Gray-box testing can yield a balance between the high-level
perspective of black-box testing. By using methodology such as API testing
and database testing, Gray-Box testers can acquire insight into the inner
workings of the systems without necessarily having access to the full source
code. This can aid them to identify and pinpoint issues that may be missed
by the black-box testers, while still maintaining some of the objectivity and
independence of the black-box testing.
5.3.4 Beta Testing
▪ In software development, user acceptance testing (UAT) -
sometimes termed beta testing, application testing, and end user
testing - is a phase of software development in which the product
is tested \sin the "real world" by the target audience.
▪ UAT can be carried out internally using volunteers or paid test
subjects, or more frequently for widely used software, by making
the test version available for free download and usage online.
▪ The early adopters' feedback is sent back to the creators, who
then make any necessary adjustments before making the product
available for purchase.
▪ In programming environment, a beta test is the second level of
programming testing in which an examining of the target group
attempts the product out.
▪ Beta is the second letter of the Greek letters in order. Initially, the
term alpha test implied the primary period of testing in a product
improvement process.
▪ The principal stage incorporates unit testing, segment testing,
and framework testing. Beta testing can be considered "pre-
discharge testing."
▪ Beta testing is additionally in some cases considered to as client
acknowledgment testing or end client testing.
▪ Applications are exposed to certifiable testing by the intended
audience for the product in this level of programming
environment.
▪ The engineers are sent the early customers' feedback so they can
make significant improvements before commercialising the
product.
Figure 5. 3 Beta Testing Processes
Some common techniques used in beta testing include:
• Equivalence partitioning: Dividing the input space into
equivalence classes that represent different types of inputs, and
testing each class with representative inputs.
• Boundary value analysis: Testing the system with input values
that are at the boundaries of the input domain, to identify issues
related to data validation and handling.
• Error guessing: Testing the system with inputs that are
intentionally designed to trigger errors or exceptions, to identify
issues related to error handling and recovery.
• Usability testing: Testing the system from the perspective of an
end user, to identify issues related to usability, user experience,
and accessibility.
5.4 Modification and Improvement
There are several modifications and improvements that could be made
to a women safety tracker app to enhance its effectiveness and usability. Some
of these include:
• Real-time tracking and emergency alert feature: The app could
be equipped with a real-time tracking feature that allows the
user's location to be monitored at all times. In the event of an
emergency, the user could quickly send out an alert to their
emergency contacts or local authorities.
• Voice-activated SOS feature: The app could have a voice-
activated SOS feature that can be activated by the user using a
specific voice command. This feature would be useful in
situations where the user is unable to physically use their phone.
• Panic button on lock screen: The app could have a panic button
that is easily accessible from the lock screen. This would allow
the user to quickly alert their emergency contacts or local
authorities in the event of an emergency.
• Safety tips and resources: The app could provide safety tips and
resources for women, such as self-defence techniques and
information on local support groups and resources.
• Privacy and security measures: The app should prioritize the
user's privacy and security by implementing measures such as
end-to-end encryption, two-factor authentication, and strict data
privacy policies.
• Customization options: The app should allow users to customize
the app's settings and features to suit their specific needs and
preferences. This could include the ability to add and customize
emergency contacts, adjust tracking settings, and customize alert
notifications.
• User feedback and support: The app should have a feedback and
support system that allows users to report any issues or suggest
improvements to the app's functionality. This would help ensure
that the app remains user-friendly and effective in ensuring
women's safety.
5.5 Test Cases
Here are some possible test cases for a women's safety tracker app:
o Location tracking: Test if the app is correctly tracking the user's
location and displaying it accurately on the map.
o Emergency alert: Test if the app sends an emergency alert to the
designated contacts or emergency services when the user
presses the SOS button.
o Community-based features: Test if the app is allowing users to
connect with other nearby users and if they can report safety
concerns in their neighbourhood.
o Prevention-based features: Test if the app is providing self-
defence tutorials, safety tips, and reminders to check in with
designated contacts regularly.
o User registration: Test if the app is correctly registering new
users, validating their phone numbers, and allowing them to set
up their profiles.
o Personalized settings: Test if the app is allowing users to
customize their safety settings and alerts based on their daily
routines and activities.
o Notification settings: Test if the app is correctly sending
notifications to the user when they receive a safety alert or when
they need to check-in with their designated contacts.
o Battery usage: Test if the app is consuming a reasonable amount
of battery when running in the background and when using GPS.
o App stability: Test if the app is running smoothly without crashing
or freezing on various devices and operating systems.
o Accessibility: Test if the app is accessible to users with
disabilities, such as those with visual or hearing impairments.
o These test cases can be further refined based on the specific
requirements and functionalities of the app.
CHAPTER 6
RESULTS AND DISCUSSION
6.1 Test Reports
After the software's test cases are written, test reports are produced. The
software receives a specific data input for each test case, and for that input, the
corresponding result is recorded. If all of the test cases are passed by the software
without any errors, it is then deployed in the end-user domain. Before then, test
cases are written and run on the software.
These are the many test cases needed for this project, along with their inputs
and outputs and are as follows:
Test reports for a women's safety application should include:
• Testing objectives: Clearly state the objectives of the testing, such as
verifying the functionality of the application, identifying potential
vulnerabilities, and evaluating user experience.
• Testing methodology: Describe the methodology used to test the
application, such as manual testing, automated testing, or a combination
of both.
• Test scenarios: Define the test scenarios used to evaluate the
application's features, such as emergency response, location tracking,
and self-defence tools.
• Test results: Report the results of each test scenario, including any
defects, errors, or issues encountered during testing.
• Recommendations: Provide recommendations for addressing any
identified issues and improving the application's functionality and
usability.
• User feedback: Include user feedback gathered during testing, such as
comments on the app's ease of use, effectiveness, and overall
experience.
• Conclusion: Summarize the overall findings and provide a conclusion on
the application's effectiveness in promoting women's safety.
Testing Objective Verify the functionality of the application
Testing Manual testing
Methodology
Test Scenarios Emergency response
Location tracking
Self-defence tools
Test Results Emergency response feature worked as intended
Location tracking was accurate and reliable
Self-defence tools were easy to access and use
Recommendations Consider adding more self-defence tools to the app
Improve the app's battery life for extended use
User Feedback Users found the app easy to use and effective in promoting
their safety
Conclusion The application is effective in promoting women's safety
and could benefit from additional features and
improvements
Table 6. 1 Test Report
6.2 User documentation
Figure 6. 1 User Acceptance Page
Figure 6. 2 SIGN IN Page
Figure 6. 3 Sign up and Register Page
Figure 6. 4 Share Incident Page with emergency Contact
Figure 6. 5 Complaint about Incident officially
Figure 6. 6 Incident and Menu Page
Figure 6. 7 Legal Resources Page
Figure 6. 8 Help and Contact Us page
Validation and Naming Conventions:
Validation:
• User testing: Conduct user testing with a diverse group of women to
gather feedback on the app's usability, features, and effectiveness in
promoting safety.
• Expert evaluation: Seek feedback from experts in the field of women's
safety, including advocates, law enforcement officials, and
psychologists.
• App store reviews: Monitor app store reviews for feedback from users
on how the app has helped them stay safe.
Naming Conventions:
✓ Keep it simple: Use a name that is easy to remember and pronounce.
✓ Focus on safety: Include words related to safety, protection, or
security in the name.
✓ Avoid gender stereotypes: Avoid using names that reinforce gender
stereotypes or assume that women are vulnerable.
✓ Use positive language: Use positive language to empower women
and promote a sense of agency and control over their safety.
✓ Consider cultural sensitivity: Be mindful of cultural differences and
avoid names that may be offensive or inappropriate in certain
cultures.
Sr.no Control ID Validation Used Reason
1 email Set errors Email Cannot be Empty.
2 password Set errors Password Cannot be Empty, it
must be 8 characters.
3 Add contacts Set error msg Only Name and numbers
&Data Successfully
Inserted
Table 6. 2 Conventions
CHAPTER 7
CONCLUSIONS
7.1 Conclusion
Apps for women's safety are crucial tools that can provide women a sense
of empowerment and security in their daily lives. These apps offer a variety of
features and capabilities, including as resources for reporting harassment or
violence, location monitoring, self-defence techniques, and emergency alerts.
Women safety apps can give women a sense of security and encourage them to
take proactive measures to protect themselves, even though they cannot totally
remove the hazards of violence or harassment. It's crucial to keep in mind, though,
that these apps do not serve as a replacement for addressing the underlying
societal and cultural issues that contribute to gender-based violence and
harassment. In the end, a complete strategy that incorporates education,
legislation modifications, and cultural transformations in favour of greater respect
and equality for all genders is needed to create a safer environment for women.
With the help of current advancements in mobile technology.
The "Women Security App" was created on the Android platform to ensure
the protection of women. The law enforcement authorities will be able to rapidly
rescue the individual in danger from the anti-social elements thanks to the GPS
tracking of the root device made possible by this programme. Instead of the
experimental database utilised here in the project, this application can be
integrated with the law enforcement database (city police control room database)
for future growth. Additionally, if the root device is turned off or unavailable for
mobile network access, several additional upgrades can still be made. So, this app
might be a huge asset in saving the women from dangerous situations.
7.1.1 Significance of a System
The significance of a system for women safety tracker app project lies in its
ability to address the issue of women's safety and provide a sense of security to
women. Here are some reasons why such a system is important:
❖ Women's safety is a serious concern: Women across the world face
harassment and violence, both in public and private spaces. A
system for women safety tracker app project can provide an added
layer of security to women by allowing them to alert their emergency
contacts or authorities in case of an emergency.
❖ Real-time tracking: The app can use GPS technology to track the
location of the user in real-time. This feature can help authorities
locate and respond to the user's distress call faster.
❖ Encouraging women to report incidents: Many women do not report
incidents of harassment or violence due to fear of retaliation or lack
of trust in the authorities. A system for women safety tracker app
project can encourage women to report such incidents, as it provides
a mechanism for them to seek help and support.
❖ Empowering women: The app can provide women with a sense of
control and empowerment, as they can take steps to ensure their
own safety. This can have a positive impact on their mental well-
being and confidence.
❖ Promoting a safer society: By promoting women's safety, the app can
contribute to creating a safer society for everyone. It can raise
awareness about the issue of violence against women and
encourage individuals and organizations to take steps to address it.
7.1.2 Limitation of a System
Every woman in the globe has to deal with risky scenarios including rape,
kidnapping, eve-teasing, sexual harassment, and molestation.
According to the survey's findings, there are around 25,000 criminal charges
against women in India each year, and this number is rising quickly. As a result,
the women are put in a warning position where they must defend themselves. This
essay describes a tool called a Safety Electric Gun that people can use to defend
themselves in a variety of circumstances. The discussion between the victim and
the attacker is also recorded using an APR circuit in addition to this device. When
she is in a risky scenario, she can press the buzzer to make an alarm sound and
signal the location. In order to transmit distress and emergency messages to the
pre-programmed contacts of people that are recorded in the microcontroller, GPS
and GSM technologies have been employed to track the whereabouts.
7.1.3 Future scope of a System
Apps may not be crucial to security now, but continued use, regular updates
based on demand, and security awareness will ensure that applications continue
to have a bright future. We will be able to arrange our careers in light of current
experience and study more sophisticated concepts in Android application
development thanks to this experience. Instead of the experimental database
utilised here in the project, this application can be integrated with a law
enforcement database in the future (for instance, a city police control room
database).
Women safety applications can now use artificial intelligence and machine
learning algorithms to recognise and react to risky situations thanks to
technological breakthroughs. Based on the user's position, activities, and other
contextual information, the app, for instance, can notify emergency services when
the user is in danger. Wearable gadgets like smartwatches, which can track a
user's vital signs and notify emergency services in case of a medical emergency
or physical assault, can be combined with women safety apps.
Apps for women's safety can offer training courses and educational tools to
assist women in staying safe and being ready for hazardous situations. Techniques
for self-defence, instruction in situational awareness, and training for emergency
response are examples of this.
Overall, there is a lot of room for innovation and expansion in the field of
women's safety apps, and the outlook is positive. Women safety apps may become
even more effective as technology develops in preventing and responding to cases
of harassment and assault.
CHAPTER 8
REFERENCES
[1]. Suraksha. A device to help women in distress: An initiative by a student of ITM
University Gurgaon. efytimes.com. 2013. Available from:
http://efytimes.com/e1/118387/ SURAKSHA-A-Device-To- Help-Women-In-
Distress-An-Initiative-By-A-Student Of-ITM-University-Gurgaon.pdf
[2]. Pantelopoulos A, Bourbakis NG. A survey on wearable sensor- based systems
for health monitoring and prognosis. IEEE Transactions on Systems, Man and
Cybernetics – part C: Applications and Reviews. 2010 Jan; 40(1):1–12.
[3]. Nicole Westmarland, Mariann Hardey, et al. “Protecting Women’s Safety? The
use of smartphone „apps‟ in relation to domestic and sexual violence‟, Durham
University, Durham centre for research into violence and abuse (2013).
[4]. World Health Organization, “Global and regional estimates of violence against
women: prevalence and health effects of intimate partner violence and non-partner
sexual violence, Geneva: World Health Organization (2013).
[5]. Mason, C and Shoshana Magnet, “Surveillance studies and violence against
women”, surveillance & society 10(2):105 – 118 (2012).
[6]. Justine A. Dunlap, Intimate Terrorism and Technology: There's an App for That,
7 U. Mass. L. Rev. 10 (2012).
[7]. Elliott, J. and McCartan K. The Reality of Trafficked People’s Access to
Technology. The Journal of Criminal Law 77(3): 255- 273(2013).38
126.
Websites:
https://stackoverflow.com/
https://www.youtube.com/
https://www.wikipedia.org./
https://www.tutorialspoint.com/
Women Safety App Development - Cost and Key Features (octalsoftware.com)
Women Safety App Development - A complete guide (nextbigtechnology.com)
women-safety · GitHub Topics · GitHub
Java Web Development - Java point
Develop Women Safety App Like Life360 | Cost & Features (kodytechnolab.com)