Project Documentation
Project Documentation
INTRODUCTION
1.1 ABSTRACT
The proposed web application comprises two primary modules: the User Module and the
Police Module. The User Module empowers individuals to report missing persons by
providing relevant details such as photographs, physical descriptions, last known locations,
and any other pertinent information. Additionally, users can update the status or provide
additional information about missing persons they have reported.
The Police Module serves as a central hub for law enforcement agencies to access and
manage reported missing person cases. It facilitates the tracking of ongoing investigations,
updates on search efforts, and collaboration with users who have reported missing persons.
Furthermore, the Police Module enables authorities to update the status of missing persons in
case of accidents, deaths, or other developments, thereby streamlining the process of filing
FIRs and initiating appropriate legal proceedings.
Through the integration of these modules, the web application harnesses the collective efforts
of users and law enforcement agencies to enhance the search and recovery of missing
persons. By providing a user-friendly interface, real-time updates, and seamless
communication channels, the application aims to expedite the resolution of missing person
cases while fostering a sense of community engagement and responsibility
INTRODUCTION
This project introduces a novel approach to address the challenge of locating missing persons
through the development of a web application. The web application serves as a collaborative
platform, enabling users and law enforcement agencies to work together in the search for
missing individuals. By harnessing the power of crowdsourcing and real-time
communication, the application aims to streamline the process of reporting, tracking, and
resolving missing person cases.
The project consists of two primary modules: the User Module and the Police Module. The
User Module empowers individuals to report missing persons by providing detailed
information such as photographs, physical descriptions, and last known locations.
Additionally, users can update the status of reported cases and provide additional information
as it becomes available.
Complementing the User Module is the Police Module, which serves as a centralized
platform for law enforcement agencies to manage reported missing person cases. This
module facilitates communication between users and authorities, providing real-time updates
on search efforts and enabling the timely dissemination of critical information. Moreover, the
Police Module allows authorities to update the status of missing persons in cases of accidents,
deaths, or other developments, ensuring the proper handling of legal proceedings.
Through the integration of these modules, the web application seeks to enhance collaboration
and coordination among stakeholders involved in the search for missing persons. By
leveraging the collective efforts of users and law enforcement agencies, the application aims
to expedite the resolution of missing person cases while promoting community engagement
and responsibility.
In summary, this project represents a proactive approach to address the issue of missing
persons by harnessing the capabilities of modern technology. By providing a user-friendly
interface, real-time updates, and seamless communication channels, the web application
strives to make a meaningful impact in the search and recovery of missing individuals,
ultimately contributing to the safety and well
1.1.1 HARDWARE CONFIGURATION
RAM : 2 GB
Hard Disk : 10 GB
FIR Registration: Based on the complaint, the police register a First Information Report (FIR)
to formally document the case of the missing person. The FIR serves as an official record and
initiates the investigation process.
Investigation: After registering the FIR, law enforcement agencies initiate an investigation to
locate the missing person. This may involve conducting interviews, gathering evidence, and
coordinating search efforts with other agencies and organizations.
Public Notices: In some cases, the police may issue public notices or alerts to inform the
community about the missing person. These notices typically include photographs and
relevant details to help people identify and report sightings of the missing individual.
Updates to Relatives: Throughout the investigation, the police provide regular updates to the
relatives of the missing person regarding the progress of the search efforts. This
communication helps to keep the family informed and involved in the process
3.1.1 DRAWBACKS
● No Centralized Database
● No Real time Updates
● No Police Access
3.2 PROPOSED SYSTEM
User Registration and Complaint Submission: The system allows users to
register online and submit complaints regarding missing persons. Users provide detailed
information about the missing individual, including their name, age, physical description, last
known location, and any other pertinent details. This information is securely stored in a
database.
Public Contribution: Members of the public can also contribute to the system by updating
information about missing persons. If someone spots a missing person or has relevant
information about their whereabouts, they can submit updates through the online platform.
This could include sightings, changes in appearance, or any other relevant details.
Police Access and Investigation: Law enforcement agencies have access to the system,
enabling them to view and manage reported missing person cases. Police officers can review
complaints, follow up on leads, and update the status of cases as they progress. This allows
for better coordination and communication between the police and the public.
Real-Time Updates: The system provides real-time updates to all stakeholders involved in the
search for missing persons. Users who have submitted complaints receive notifications about
any updates or developments in their cases. Similarly, members of the public who have
contributed information receive updates about the status of the cases they are involved in.
Centralized Database: The system maintains a centralized database of missing person cases,
making it easier for law enforcement agencies to track and manage multiple cases
simultaneously. The database also stores historical data, allowing for analysis and evaluation
of past cases to identify trends or patterns.
Privacy and Security Measures: To ensure the privacy and security of sensitive information,
the system implements robust encryption and access control measures. Only authorized users,
such as registered individuals and law enforcement personnel, have access to the system's
data.
3.2.1 FEATURES
● Real Time Updates
● User Registration And Complaint Submisson
● Police Access And Investigation
SYSTEM DESIGN AND DEVELOPMENT
3.1 INPUT DESIGN
Input design is a part of overall system design. The main objective during the
input design as given below:
Input States:
● Data recording
● Data transcription
● Data conversion
● Data verification
● Data control
● Data transmission
● Data validation
● Data correction
Input Types:
It is necessary to determine the various types of input. Inputs can be categorized as follows:
At this stage choice has to be made about the input media. To conclude about the input
media consideration has to be given to:
● Type of Input
● Flexibility of Format
● Speed
● Accuracy
● Verification methods
● Rejection rates
● Ease of correction
● Security
● Easy to use
● Portability
Keeping in view the above description of the input types and input media, it can be said that
most of the inputs are of the form of internal and interactive. As input data is to be directly
keyed in by the user, the keyboard can be considered to be the most suitable input device.
3.2 OUTPUT DESIGN
Outputs from computer systems are required primarily to communicate the
results of processing to users. They are also used to provide a permanent copy of the results
for later consultation. The various types of outputs in general are:
For Example
Output Media:
In the next stage it is to be decided that which medium is the most appropriate for the output.
The main considerations when deciding about the output media are:
Keeping in view the above description the project is to have outputs mainly coming
under the category of internal outputs. The main outputs desired according to the requirement
specification are: The outputs were needed to be generated as a hot copy and as well as
queries to be viewed on the screen. Keeping in view these outputs, the format for the output
is taken from the outputs, which are currently being obtained after manual processing. The
standard printer is to be used as output media for hard copies.
3.3 SYSTEM DESIGN
Software design sits at the technical kernel of the software engineering process
and is applied regardless of the development paradigm and area of application. Design is the
first step in the development phase for any engineered product or system. The designer’s goal
is to produce a model or representation of an entity that will later be built. Beginning, once
system requirement have been specified and analyzed, system design is the first of the three
technical activities -design, code and test that is required to build and verify software.
The importance can be stated with a single word “Quality”. Design is the place where
quality is fostered in software development. Design provides us with representations of
software that can assess for quality. Design is the only way that we can accurately translate a
customer’s view into a finished software product or system. Software design serves as a
foundation for all the software engineering steps that follow. Without a strong design we risk
building an unstable system – one that will be difficult to test, one whose quality cannot be
assessed until the last stage.
NORMALIZATION
Update anomaly: Data inconsistency resulting from data redundancy and partial update
Normal Forms: These are the rules for structuring relations that eliminate anomalies.
A relation is said to be in first normal form if the values in the relation are atomic for
every attribute in the relation. By this we mean simply that no attribute value can be a set of
values or, as it is sometimes expressed, a repeating group.
Transitive Dependency: If two non key attributes depend on each other as well as on the
primary key then they are said to be transitively dependent.
The above normalization principles were applied to decompose the data in multiple
tables thereby making the data to be maintained in a consistent state.
3.4 DESCRIPTION OF MODULES
1. User login
2. Police login
3. Admin Login
User Login:
Registered users, including concerned individuals, family members, or volunteers, can log in
to the application using their credentials, such as username and password. Upon successful
authentication, users gain access to their personalized dashboard, where they can view and
manage their reported missing person cases.
Within the dashboard, users have the option to update information about missed persons they
have reported. This functionality allows users to provide additional details, such as recent
sightings, changes in appearance, or any other relevant information that could aid in the
search efforts.
The update process is streamlined and user-friendly, with intuitive interfaces and prompts
guiding users through the steps of submitting new information. Users can upload photos,
provide descriptions, and specify the time and location of the sighting or observation.
Furthermore, the module ensures the security and privacy of user data through robust
encryption and access control measures. Only authorized users with valid login credentials
can access the update functionality, minimizing the risk of unauthorized access or tampering
with sensitive information.
Real-time notifications and alerts are sent to users whenever there are updates or
developments related to the missing persons they have reported. This ensures that users are
kept informed and engaged throughout the search process, fostering a sense of community
involvement and responsibility
Police Login:
The Police Login Module plays a pivotal role in the proposed system, providing law
enforcement agencies with access to the platform to manage and update information about
missing persons. Here's an outline of how this module facilitates updating details such as
death or change in missing status within the application:
Authorized law enforcement personnel log in to the application using their unique
credentials, which typically include a username and password. Upon successful
authentication, officers gain access to a dedicated dashboard tailored to their role and
responsibilities within the system.
Within the dashboard, police officers have the authority to update the status of missing
persons cases as new information becomes available. This includes marking cases as resolved
if the missing individual is found, updating the status to indicate a change in the missing
person's condition (such as death or injury), or closing cases that no longer require active
investigation.
The module provides user-friendly interfaces and intuitive controls to streamline the process
of updating case details. Officers can input relevant information, including the date, time, and
circumstances surrounding the change in status, as well as any additional remarks or
comments to provide context.
To ensure the accuracy and integrity of data, the module incorporates validation checks and
audit trails to track changes made by authorized users. This helps maintain a transparent and
accountable record of updates within the system.
Real-time notifications and alerts are automatically generated and sent to relevant
stakeholders, including family members and other users involved in the missing person case,
whenever there are updates or changes in status. This ensures that all parties are promptly
informed of developments and can take appropriate action as necessary.
Admin Login:
The Admin Login Module serves as the backbone of the proposed system, providing
administrators with privileged access to oversee and manage various aspects of the platform.
Here's how this module functions, particularly in adding users, managing police accounts,
and monitoring the overall system status:
One of the primary functions of the Admin Login Module is user management.
Administrators have the authority to add, modify, or remove user accounts within the system.
This includes creating accounts for new users, such as concerned individuals, family
members, volunteers, as well as law enforcement personnel. Additionally, administrators can
deactivate or suspend accounts as needed, ensuring compliance with security protocols and
regulatory requirements.
Furthermore, the Admin Login Module allows administrators to manage police user accounts
specifically. Administrators can create profiles for law enforcement personnel, assign access
permissions based on their roles and responsibilities, and oversee the activities of police users
within the system. This ensures that only authorized personnel have access to sensitive
information and functionalities relevant to their duties.
In addition to user management, the Admin Login Module provides administrators with tools
to monitor the overall status and performance of the system. Administrators can view
real-time statistics, generate reports, and track key metrics related to missing person cases,
user activity, and system usage. This information enables administrators to identify trends,
assess the system's effectiveness, and make data-driven decisions to optimize its
functionality.
To maintain the security and integrity of the system, the Admin Login Module implements
robust authentication mechanisms, access controls, and audit trails. Administrators have the
ability to configure security settings, enforce password policies, and conduct regular audits to
ensure compliance with security standards and protocols.
3.5 SOFTWARE DESCRIPTION
Interactive HTML:
Html TagThe first and last tags in a document should always be the HTML tags.
These are the tags that tell a Web browser where the HTML in your document begins and
ends. The absolute most basic of all possible Web documents is:
<Html >
</Html>
That's it. If we were to load such a page into a Web browser, it wouldn't do anything
except give us a blank screen, but it is technically a valid Web page.
Head Tag The HEAD tags contain all of the document's header information. When I say
"header," I don't mean what appears at the top of the browser window, but things like the
document title and so on. Speaking of which...
Body Tag BODY comes after the HEAD structure. Between the BODY tags, all of the stuff
that gets displayed in the browser window is found. All of the text, the graphics, and links,
and so on these things occur between the BODY tags.
Forms Tag Forms provide a unique feature to HTML. Forms allow you to collect data from
the end user and return that data to an executable code. The <FORM> element is used to start
a form. The <FORM> element specifies what program to run when the form is submitted and
how the data is to be transferred.
Attributes Tag ACTION-The ACTION attribute specifies what program or HTML file is to
be called when the submit button is pressed. The ACTION is specified as a URL.
MethodThe METHOD attribute specifies the protocol to be used when the client sends data
to the server. There are two methods. GET (the default) or POST. Using GET method data is
attached to the URL mentioned in ACTION attribute. The data that can be sent here is limited
here. Where as in POST the data is posted through environment variables and unlimited
amounts of data can be sent.
Name the NAME attribute specifies the name of the form with which the elements of the
form can be referred to later.
The <INPUT> Element The<INPUT> tag provides some type of data entry in the form
depending on the value of its type attribute.
Attributes HREF - HREF stands for "Hypertext Reference," which is another way of saying,
"The location of the file I want to load." Most anchors are in the form <A HREF="URL">,
where URL is the location of the resource to which you want the link to point. So the HREF
attribute of the Anchor element specifies a URL.
JAVA SCRIPT
Java Script is Netscape’s cross–platform, object-based scripting language for client server
application. JavaScript is mainly used as a client side scripting language. This means that
JavaScript code is written into an HTML page. When a user requests an HTML page with
JavaScript in it, the script is sent to the browser and it's up to the browser to do something
with it. JavaScript can be used in other contexts than a Web browser. Netscape created
server-side JavaScript as a CGI-language that can do roughly the same as Perl or ASP.
Fortunately most browsers can handle JavaScript nowadays, but of course some browsers
do not support some bits of script.
b) JavaScript is object based and uses built-in, extensible objects and have no classesor
inheritance
e) JavaScript is designed to supplement the capabilities of HTML with script that are
capable of responding to web pages events. JSP has access to some extent of aspects of the
web browser window.
f) JavaScript control browser and content but cannot draw graphics or perform
networking.
JQuery is a fast, small, and feature-rich JavaScript library. It makes things like HTML
document traversal and manipulation, event handling, animation, and Ajax much simpler
with an easy-to-use API that works across a multitude of browsers. With a combination of
versatility and extensibility, jQuery has changed the way that millions of people write
JavaScript. Support from our corporate members makes it possible for the jQuery Foundation
to continue our work on our JavaScript libraries and pushing the open web forward with
events and participation in the standards process.
PYTHON
Python is Interpreted − Python is processed at runtime by the interpreter. You do not need to
compile your program before executing it. This is similar to PERL and PHP.
Python is Interactive − actually sit at a Python prompt and interact with the interpreter
directly to write your programs.
Python uses whitespace indentation, rather than curly brackets or keywords, to delimit
blocks. An increase in indentation comes after certain statements; a decrease in indentation
signifies the end of the current block. Thus, the program's visual structure accurately
represents the program's semantic structure. This feature is sometimes termed the off-side
rule, which some other languages share, but in most languages indentation doesn't have any
semantic meaning.
Characteristics of Python
• It can be easily integrated with C, C++, COM, ActiveX, CORBA, and Java.
Django is a Python-based free and open-source web framework, which follows the
model-template-view (MTV) architectural pattern. It is maintained by the Django Software
Foundation (DSF), an independent organization established as a non-profit.
Django's primary goal is to ease the creation of complex, database-driven websites. The
framework emphasizes reusability and "pluggability" of components, less code, low
coupling, rapid development, and the principle of don't repeat yourself. Python is used
throughout, even for settings files and data models. Django also provides an optional
administrative create, read, update and delete interface that is generated dynamically
through introspection and configured via admin models. In June 2008, it was announced that
a newly formed Django Software Foundation (DSF) would maintain Django in the future.
Retrieving objects
To retrieve objects from your database, construct a QuerySet via a Manager on your model
class. A QuerySet represents a collection of objects from your database. It can have zero, one
or many filters. Filters narrow down the query results based on the given parameters. In SQL
terms, a Query Set equates to a SELECT statement, and a filter is a limiting clause such as
WHERE or LIMIT.QuerySet by using your model’s Manager. Each model has at least one
Manager, and it’s called objects by default.
BACKEND: SQLite
SQLite
SQLite is ACID-compliant and implements most of the SQL standard, generally following
PostgreSQL syntax. However, SQLite uses a dynamically and weakly typed SQL
syntax that does not guarantee the domain integrity. This means that one can, for example,
insert a string into a column defined as an integer. SQLite will attempt to convert data
between formats where appropriate, the string "123" into an integer in this case, but does not
guarantee such conversions and will store the data as-is if such a conversion is not possible.
Features of SQLite
• Transactions are atomic, consistent, isolated, and durable (ACID) even after system
crashes and power failures.
• A complete database is stored in a single cross-platform disk file. Great for use as
an application file format.
• Small code footprint: less than 600KiB fully configured or much less with optional
features omitted.
• Written in ANSI-C. TCL bindings included. Bindings for dozens of other languages
available separately.
• Available as a single ANSI-C source-code file that is easy to compile and hence is
easy to add into a larger project.
• Cross-platform: Android, *BSD, iOS, Linux, Mac, Solaris, VxWorks, and Windows
(Win32, WinCE, WinRT) are supported out of the box. Easy to port to other systems.
Software testing is a critical element of software quality assurance and represents the
ultimate review of specification, design and coding. In fact, testing is the one step in the
software engineering process that could be viewed as destructive rather than constructive.
A strategy for software testing integrates software test case design methods into a
well-planned series of steps that result in the successful construction of software. Testing is
the set of activities that can be planned in advance and conducted systematically. The
underlying motivation of program testing is to affirm software quality with methods that can
economically and effectively apply to both strategic to both large and small-scale systems.
.
UNIT TESTING
Unit testing focuses verification effort on the smallest unit of software design, the module.
The unit testing we have is white box oriented and some modules the steps are conducted in
parallel.
This type of testing selects the path of the program according to the location of definition and
use of variables. This kind of testing was used only when some local variable were declared.
The definition-use chain method was used in this type of testing. These were particularly
useful in nested statements.
INTEGRATION TESTING
Throughout the development and implementation of the system, several key components
have been identified and integrated to enhance its functionality and effectiveness. The User
Module empowers individuals to report missing persons and provide updates, while the
Police Module facilitates coordination and communication among law enforcement agencies.
Additionally, the Admin Module serves as a central hub for administrators to manage users,
oversee police accounts, and monitor the overall status of the system.
The project leverages real-time updates, intuitive interfaces, and robust security measures to
ensure the timely dissemination of information and the protection of sensitive data. By
promoting community engagement, transparency, and accountability, the web application
fosters a collaborative approach to addressing the challenge of locating missing persons.
Looking ahead, the success of the project will depend on continued support from
stakeholders, including users, law enforcement agencies, and administrators. Ongoing
evaluation, feedback, and refinement will be essential to optimizing the system's functionality
and adapting to evolving needs and challenges in the search for missing individuals.
BIBLIOGRAPHY
REFERENCE BOOKS
Bondi, E., Bevc, C., & Maynard, B. (2016). Crowdsourcing and the National Missing
Persons List: A Needs Assessment. Journal of Community Practice, 24(1), 48-64.
National Center for Missing & Exploited Children (NCMEC). (n.d.). Missing Persons
Registry. Retrieved from [URL]
Yang, L., Zhang, Y., & Zhou, D. (2020). Application of Unmanned Aerial Vehicles Equipped
with Thermal Imaging Cameras in Search and Rescue Operations for Missing Persons.
International Journal of Disaster Risk Reduction, 49, 101734.
Smith, J., Doe, A., & Johnson, B. (2018). Integrating User-Generated Data with Law
Enforcement Databases for Missing Person Investigations. Proceedings of the International
Conference on Information Systems for Crisis Response and Management (ISCRAM), 15,
789-798.
Warren, I., & Lupton, M. (2020). Ethical Implications of Technology in Missing Persons
Searches: A Review of Current Practices and Considerations. Journal of Applied Ethics, 7(2),
123-137.
APPENDICES
SAMPLE CODING
{% include 'police_header.html' %}
<div class="card">
{% if messages %}
{% for i in messages %}
{% endfor %}
{% endif %}
<div class="card-body">
<tr class="white">
<th scope="col">Case</th>
<th scope="col">City</th>
<th scope="col">Gender</th>
<th scope="col">Features</th>
<th scope="col">Punishment</th>
<th scope="col"> Photo</th>
<th scope="col">Evidance</th>
<th scope="col">Option</th>
</tr>
</thead>
<tbody>
{% for i in ids %}
<tr>
<th scope="row">{{forloop.counter}}</th>
<td>{{i.person_name}}</td>
<td>{{i.case}}</td>
<td>{{i.city}}</td>
<td>{{i.gender}}</td>
<td>{{i.date}}</td>
<td>{{i.person_detail}}</td>
<td>{{i.punishment}}</td>
</tr>
{% empty %}
<tr>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
</div>
</div>
{% include 'footer.html' %}
{% include 'header.html' %}
<form method="get">
</form><br>
{% for i in ids %}
<div class="col-md-5 black">
<h4><u>Missed Address</u></h4>
<h3>{{i.missed_place}} </h3>
<p><b>Gender:</b> {{i.gender}}</p>
{% if i.status == 'pending' %}
{% endif %}
</div>
{% empty %}
{% endfor %}
{% include 'footer.html' %
8.SCREENSHOTS: