You are on page 1of 32

Information Management Platform for Lost-and-Found Pets

Engineering Project Final Report

Information Management Platform for Lost-and-Found Pets

Submitted by

Natthakit Kitreungpatchara 6238205621


Siraphop Thaisangsa-nga 6238220521
Sopon Kongnithigarn 6238228621

Approved by:

Project Advisor : Asst. Prof. Pizzanu Kanongchaiyos, Ph.D.

Project Committee Member : Asst. Prof. Arisara Jiamsanguanwong, D.Eng

Project Committee Member : Kamin Phakdurong

Project Committee Member : Promphorn Chaichirawiwat


ABSTRACT
This report presents the design of an application and the system involved in the process of
lost dog owners looking for their lost dogs and lost dog founders returning the found dogs to
their rightful owners. The design focuses on lost dogs and found dogs that were last seen in only
Thailand, and how ordinary people react and their behavior when they lost a dog or they found a
missing dog. The reason behind the missing dog is also reviewed as well as the behavior of the
missing dog. The application has frontend and backend parts, and these parts are connected to
each other via APIs. Frontend makes use of NextJS and Tailwind CSS framework to build the
page and components, while the backend makes use of TypeScript and AWS services to build
cloud-based functions which are responsible for algorithms used in the design and other
calculations and to manage the APIs and apply security measures. The data are also stored in the
AWS cloud database. In this design, the overall objectives were met. The dog owner community
now has hundreds of followers. With the application, lost dog founders and lost dog owners are
able to create announcements with needed information via a detailed input format and filter out
irrelevant announcements via a robust search filter, and lost dog founders and lost dog owners
are able to successfully match with each other. This design has many potential impacts, including
reducing finding time and unnecessary processes and, as a result, reducing lost pet figures.
TABLE OF CONTENTS
1 INTRODUCTION....................................................................................................................1
2 BACKGROUND......................................................................................................................2
2.1 Real Experience................................................................................................................ 2
2.2 Victim’s Behavior Existing Solutions...............................................................................2
2.3 Dog’s Behavior................................................................................................................. 2
2.4 Existing Solution...............................................................................................................3
2.5 Problem Statement............................................................................................................ 4
3 DESIGN REQUIREMENTS................................................................................................... 5
4 DESIGN DESCRIPTION........................................................................................................ 7
4.1 Overview...........................................................................................................................7
4.2 Detailed Description......................................................................................................... 8
4.3 Use.................................................................................................................................. 14
5 EXPERIMENTAL SETUP AND METHODS...................................................................... 16
5.1 Project Initiation..............................................................................................................16
5.2 Development Phase.........................................................................................................17
5.3 Testing.............................................................................................................................19
5.3 Deployment.....................................................................................................................21
6 RESULTS AND DISCUSSION.............................................................................................22
6.1 Results.............................................................................................................................22
6.2 Discussion....................................................................................................................... 23
7 Project Global Impact.............................................................................................................24
8 CONCLUSIONS.................................................................................................................... 25
8.1 Assessment......................................................................................................................25
8.2 Next Steps....................................................................................................................... 25
9 REFERENCES.......................................................................................................................26
1 INTRODUCTION
Since pets can be a person's best friend as well as a human, they play a vital part in their life.
They can also be a friend and family for some people. According to the studies of America
Households, it shows that pets can provide several benefits to humans both physically and
mentally. Playing with pets increases the chance for exercise and outdoor activities, and more
opportunities to socialize. Thus, it decreases blood pressure, cholesterol, and triglyceride levels.
Moreover, the bond between pet owners and pets can help manage self-loneliness and
depression. The studies also show that this bond between humans and pets can reduce the anxiety
and symptoms of Post-traumatic stress disorder (PTSD); a mental condition caused by a terrible
experience. It is evident that pets have become an important part of human lives.

However, pet owners all have a fear of losing their pets. According to the National Council
of Pet Population Study and Policy and the National Humane Society, A household pet is lost
every two seconds. More than 10 million pets are lost each year. Unfortunately, just one in ten
family pets is found. Based on other statistics, approximately 1 in 3 pets will be lost at some
point in their lives. Subsequently, lost pets have a chance that they will create trouble for the
society and environment, and, more importantly, pet owners will also suffer mentally from losing
their pets.

To address this issue, our study aims to create an information platform dedicated to lost and
found pets. The current traditional lost-and-found pattern has limitations, with people searching
for things and others looking for the owners of those things, resulting in a lack of mutual
communication channels. Our proposed platform will aid the process of finding lost pets and
returning found pets to their rightful owners. The platform will focus initially on dogs in
Thailand, with the potential to expand to other pets and regions in the future.

In this study, we will investigate how actors, in the process of finding and returning lost pets,
act, including the dogs, lost pet owners, and lost pet founders, the problems themselves, and how
we propose, design, and develop an application that is subjected to solve the problems.
Throughout the report, actors in the process are referred to with these particular terms (See Table
1).

Lost dog a missing dog

Lost dog owner an original owner of the lost dog

Lost dog founder a person who found the lost dog

Lost pet owner an original owner of the lost pet

Lost pet founder a person who found the lost pet

Table 1: Terms being used in this report

Page 1 of 26
2 BACKGROUND
2.1 Real Experience
Losing a pet can be a distressing experience for pet owners, and the process of searching for
a lost pet can be overwhelming and confusing. The following is a real-life experience of a pet
owner who lost a dog and tried to find the dog. The dog is a Maltese dog named Pluto. Pluto had
gone missing while the owner left home to work, The owner discovered that beloved Pluto had
gone missing. In an effort to locate Pluto, the owner first reviewed the security camera footage to
determine the direction Pluto went. Later then, the owner contacted the police for assistance in
locating Pluto and requested permission to review public security camera footage, but was
denied access. The owner turned to social media to alert others of Pluto's disappearance and
searched for any posts from individuals who may have found the pet. Despite the efforts, the
owner was unable to locate Pluto.

20 hours later, The owner received a message from a concerned individual who saw a post in
a lost pet community on Facebook. The post described a lost dog with similar characteristics to
Pluto, but with a low-quality photo that made it difficult for the owner to confirm if it was his
pet. The post indicated that the dog was found near Bearing, which is 17 kilometers far from
Latte's home in the Bang Rak district of Bangkok. The owner was uncertain about the details
provided but decided to contact the owner of the post regardless. To his relief, the dog was
indeed Pluto, and the post's owner explained that he had rushed the writing and indicated that the
dog was living in Bearing, rather than being found there.

This case highlights the difficulties that pet owners face when trying to locate lost pets and
the importance of utilizing all available resources to increase the chances of a successful reunion.

2.2 Victim’s Behavior Existing Solutions


Following real-world experience, we conducted a comprehensive investigation into the
current process of locating a lost pet, the methods used to return the pet to its owner, the behavior
of pet owners following the loss of their pet, and the conduct of individuals who locate lost pets.
Our research suggests that pet owners who have lost their pets are persistently searching for their
beloved animals. However, individuals who find lost pets are often unsure of how to respond to
the situation, particularly in Thailand where passersby frequently disregard the presence of dogs
and may not be able to distinguish between a stray dog and a pet with an owner. In cases where a
lost pet's owner is identified, the individual who has located the pet may be unsure of the most
appropriate course of action. Social media is often relied upon by such individuals to broadcast
the discovery of a missing pet, in hopes that the information will eventually reach the pet's
owner, who can then contact the individual who found the pet.

2.3 Dog’s Behavior


In the case of the missing dog, it is commonly believed that lost dogs tend to stay in the
vicinity of the place where they were lost or near their owner's home. This is because dogs have

Page 2 of 26
a strong sense of smell and may be able to pick up familiar scents in their surroundings, which
can lead them back to their home or the location where they were last seen. Additionally, dogs
are creatures of habit and may be inclined to stay in areas that are familiar to them. However, it is
important to note that every lost dog's behavior is unique, and there are many factors that can
influence their movements. For example, a scared or injured dog may run farther away from the
place where they were lost, while a friendly and social dog may approach people in search of
help or attention.

2.4 Existing Solutions


On social media platforms, users who lost their pets were grouping up with each other to
build communities for the purpose of finding their lost pets and returning the found pets to their
rightful owners. On Facebook, there are lost pet communities where pet finders and lost pet
owners are gathered together and lost dog communities where only lost dog finders and lost dog
owners are gathered. On Twitter, people are grouping together but they are using tags as a
parameter to categorize ordinary Twitter posts into missing pet-related posts.

Although people are helping each other on social media, the success rate remains as low as
one in ten cases, meaning that from ten missing pet cases, only one of them is found, but nine of
them are still missing. We decided to research deeper into each social media platform to find the
reason behind the low success rate. As we looked further into the process of finding lost pets and
returning the lost pet as well as the tools and functionalities provided on each platform, we found
a lot of problems in the existing solutions including redundancy and time-consuming processes.

On Facebook, people are joining one group when they have an interest in the same topic. The
same goes for people who lost their dog and want to find their dog as well as those who found a
missing dog and want to return it to its rightful owner; they are gathering into a lost dog
community. There are four main problems regarding the Facebook group and search tools.

Firstly, in the group, people can share information about a dog that went missing and a found
one. Before joining any group, users must verify and wait for the group’s administrator to accept
the request. The verification process might take a few hours to a day depending on the
availability of the administrator, which is time-consuming and delays the finding process.

Secondly, Facebook also allows users to create multiple communities, and currently, there are
more than ten active lost dog communities. Therefore, when lost dog owners want to announce
on social media that the dog is missing, they have to post the announcements in as many groups
as possible. Otherwise, there will be a chance that the corresponding lost dog founder is not
participating in one of the groups and will not be informed about the incident. The same also
goes for the lost dog founders, they have to post in as many groups as possible.

Thirdly, in an announcement or a post, information is inserted in plain text, and the lost dog
owners and the lost dog founder do not know what information they should put in the post,
especially during rush time. Sometimes, they forget to fill in the necessary information which
will be useful for others and make the finding process faster; for example, species, colors, and
the location they found the dog or the location they left the dog. There are also people who are
Page 3 of 26
in a hurry and quickly typing, resulting in improper sentences that can lead to ambiguity and
misunderstanding.

Lastly, Facebook users only scroll down to find other posts. In the real case, users who are
finding their dogs have to look into the list of posts, where most of them are a dog with different
species or a post from other lost dog owners who want to find their dogs, or even posts that are
totally irrelevant to the finding procedure.

On Twitter, users use tags as a tool to filter posts, also known as tweets in Twitter. Tags are
very powerful when trying to focus on a specific keyword; however, the platform allows users to
use only one tag at a time. Thus, it is impossible to use two keywords, such as ‘male’ and
‘Maltese’, at the same time. Twitter also allows users to filter the post based on two location
types, which are anywhere and near you, but Twitter does not specify the range for the near you
option, thus not very useful in the case of finding the missing dog.

Another existing solution is public radio. Public radio also needs approval from the
administration team. Users also cannot access the data anywhere and anytime because the radio
station does not operate continuously and does not announce the same news all day. A radio
station is obsolete and it cannot reach as many audiences as other platforms. People also have
very different preferences for radio stations and, as a result, they may not listen to the same radio
stations.

2.5 Problem Statement


There are a lot of problems in the current finding a lost dog and finding a right owner process
and also in the existing tools that people used to help with the finding processes. Thus, we want
to eliminate the time used in the verification process and the redundancy of Facebook groups.
We also want lost dog owners and lost dog founders to know which information is important in
the finding processes, so that they will include it when announcing their lost pet or their found
pet, and they can further use the same information to discard the irrelevant post and find its
counterparts faster and easier. Therefore, our team came up with a goal to allow users to find
information about both lost pets and found pets from a platform that is efficient for finding and
posting pet information.

Page 4 of 26
3 DESIGN REQUIREMENTS
As our team wants to build a platform for lost pets and found pets where lost pet owners and
lost pet founders can announce the incident and also find information about their counterparts,
there are key requirements that drive the efficiency of the platforms in terms of finding a lost pet
and returning the lost pet to its owner process. Our team is focusing on the requirements and
functionalities that smooth the finding process and provide a straightforward outline that users
can simply follow to avoid potential errors and reduce the time it takes to complete each task.

Since most of the time people spend during the finding process is finding the matching post.
On Facebook and Twitter, the means that a lost dog owner uses to find the post of the missing
dog is only to scroll down the feed, looking through a list of posts one by one. Even with the use
of tags on Twitter that only allow one tag at a time, the user still needs to scroll down inevitably.
Thus, the system shall allow users to perform queries to filter out irrelevant posts.

In addition to the irrelevant posts, there are posts that are intended to find the missing dog
and also posts that are intended to find the right dog owner. These posts are mixed in one
community, making the user confused about which posts are intended to find the missing or
which posts are intended to find the dog’s owner; therefore, users need a clear boundary to which
pool of posts is intended for what purpose. Consequently, the system shall have different pools of
posts for lost dog owners and lost dog founders.

Since most people rely on social media as a tool to find their missing pets and find the
rightful owners, people usually went to social media as soon as their pets went missing. Most
people refer to social media as the first option when it comes to missing dogs. If we assume that
people know this system, the time between the incident and when they come to social media is
no longer than a day. Thus, newer posts on the platform are more likely to be the right posts.
Therefore, the system shall prioritize the post in the search result based on the time the post is
created.

Statistics indicate that most lost pets are recovered or found within 30 days. Users do not
need a post that is announced before the time their pets went missing. Besides, posts that have
been created for more than 30 days, are less likely to find their matching counterparts. Thus, the
system shall discard the posts that were created for more than 30 days.

However, being less likable to find does not mean that it is impossible to find. Some users
still have hope and ambition to find their beloved dogs. Despite the lower feasibility, if users still
want to announce the posts, they can also extend the lifespan of the posts. Therefore, the system
must allow users to extend the lifespan of the posts.

Another problem found in the existing social platforms used for finding pets is that the user
can type anything into the post. On Facebook and Twitter, users are misspelling words and give
unclear sentences. Problems with insufficient information are the main reason why people cannot
identify if the dog belongs to them if they are not checking with the post owner again. Users
need guidance on what information they should provide when creating a post. Users also need to
avoid potential typing errors when providing the information. Therefore, the system must have

Page 5 of 26
an outline that can help users know what information they have to provide, and what information
can further help in the search process. The system must have a format and drop-down menu for
users when providing information.

Requirement

Find My Pluto shall allow users to perform queries to filter out irrelevant posts.

Find My Pluto shall have different pools of posts for lost dog owners and lost dog founders.

Find My Pluto shall prioritize the post in the search result based on the time the post is created.

Find My Pluto shall discard the posts that were created for more than 30 days.

Find My Pluto shall allow users to extend the lifespan of the posts.

Find My Pluto shall have an input format and drop-down menu for users when providing
information about lost pets.

Note: Find My Pluto is the name of the proposed system

Table 2: Requirements for Find My Pluto application

Page 6 of 26
4 DESIGN DESCRIPTION
4.1 Overview
Our team's goal is to design and develop an online platform to assist lost dog owners in
finding their missing pets and lost dog finders in reuniting the found dogs with their rightful
owners. To achieve this goal, the proposed system will incorporate various user-friendly
functionalities to enhance the overall experience and increase the chances of successful pet
recovery. These functionalities include separate pools of posts as lost posts and found posts and a
search filter for users to filter out irrelevant posts. In the separated pools, the lost post refers to
the post to announce that the dog is missing, while the found post refers to the post to announce
that someone found a dog and wants to find its rightful owner. Additionally, the system will
prioritize search results based on the time the post is created and discard posts that are over 30
days old. However, users can extend the lifespan of the post if they want to do so. To ensure that
only relevant and accurate information is entered, the system will have formatted input and
drop-down menus to ensure that necessary information is provided.

Taking into consideration the design requirements, our team developed a use case diagram to
illustrate how users interact with the system (see Figure 1). Users are categorized based on two
variables: their purpose and registration status. Those who use the platform generally fall into
two categories - either they are looking for their missing dog or they have found a missing dog
and want to return it to its rightful owner. Thus, users are classified as either dog owners or dog
finders. Dog owners are individuals who have lost their pets and want to locate them, while dog
finders are individuals who have found lost dogs and wish to reunite them with their owners.
Registration status is also considered, with users categorized as either registered or
non-registered. Registered users have created accounts in the system and provided their contact
information.

Non-registered users can choose to see either found posts or lost posts. They can perform
searches with or without the filter to query the post from the database. They can retrieve a
specific post from the database to see more comprehensive information in each post. Then, They
can see the information of the post owners and use it to contact them. However, non-registered
users cannot create any posts. Alternatively, non-registered people can sign up for an account in
the system. Once they have an account, they are registered users. Registered users perform
searches and filter like non-registered users, but they also can create posts, either lost or found. If
a registered user created a post and he found the matching partners, he can return the post to
notify the database that the dog and the owner are finally reunited, and the post’s status will be
expired. If the matching partner is not found within 30 days, registered users can extend the post
to extend the expired date by 30 days from the day they extend. Finally, the post’s owner can
delete their post; otherwise, posts will be automatically deleted after 30 days.

Page 7 of 26
Figure 1: Use case diagram

4.2 Detailed Description


4.2.1 Search filter
The search filter is a main component that allows users to easily discard posts that do not
match their interests so that users can focus on the relevant posts where the dogs have the same
information or parameters that the users are looking for. Users can enter various parameters such
as species, gender, colors, and last found date in the search filter, to narrow down the search
results (See Figure 2). These are all important information that helps distinguish one dog from
another, reducing the time users spend on irrelevant posts and also time to search for the dogs.

Additionally, based on the fact that dogs tend to remain within a radius of one to two miles
from the area where they were last seen, it is imperative for pet owners to narrow down their
search area to avoid unnecessary efforts. However, the current solutions available to pet owners
lack the capability to precisely specify the search area. A functionality to specify the search area
is also added to the search filter. Thus, users can specify the desired location in the search filter
and the system will show the posts that the last found location of dogs is within 10 kilometers far
from the specified location.
Page 8 of 26
Figure 2: Search filter

4.2.2 Post Pools


Since users can be divided by their purpose when using the application, the posts are also
divided by the purpose of users. Thus, there are two different types of posts (See Figure 3). Lost
posts or lost dog posts are posts for users who lost their dog and want to find their dogs, while
found posts or found dog posts are intended for users who found a lost dog and want to find the
rightful owner of the dog and return the dog to the corresponding owner. In the application, since
we do not know if the users are lost dog owners or lost dog founders, there are two different
pages for the lost posts pool and found dogs pool. There is also a toggle switch in the right upper
corner for users to switch between the lost posts page and the found dogs page.

4.2.3 Sorted Search Results


The search results will be sorted by the creation time of each post. The posts that are recently
created are shown first. Posts are displayed in rows. The upper rows refer to newer posts, and
newer posts are sorted from left to right. Thus, the newest post in the searched result will appear
on the upper leftmost part of the screen.

Page 9 of 26
Figure 3: Pool of lost dog posts

4.2.4 Post Expiration


In this design, only registered users are allowed to create a post. When creating the post, if
users fill in the form incorrectly, the form will not be validated. In this case, users must refill the
form until it is validated. After the form is correctly submitted, the post is created and its status is
finding. Now, if the post can find its counterpart, meaning that the lost dog owner finds the
missing dog or the lost dog founder finds its rightful owner, The post status is changed to finish.
However, if the post cannot find its counterpart within 30 days, the post status will change to
expired. The expired and finished posts will not be shown in the search results. Only the owner
can still see their own posts including the expired and finished ones. Lastly, post owners can
delete their own posts at any time to delete the post. If the post is deleted, anyone including the
owner will not be able to see the post anymore. The post’s state diagram is created to help
understand the lifespan of both lost dog posts and found dog posts (See Figure 4).

Page 10 of 26
Figure 4: State diagram of a post

4.2.5 Post Lifespan Extension


If the post is expired, the owner of the post can still see the post on the profile page. In each
expired post on the profile page, there is a button to extend the lifespan of the posts. If the post
owner clicks the button, the post status will change back to finding, and the post will expire in
the next 30 days, and the posts will appear in the search pool again.

Figure 5: Posts in the profile page and extend button (in the red square)

4.2.6 Input Format


When a dog owner or founder needs to report a missing or found dog, they can do so by
creating a post in the system, which will be visible to others (See Figure 6). To ensure that all
necessary information is provided, the input form has been designed with small, one-word fields

Page 11 of 26
and drop-down menus for important fields. This helps prevent mistakes and confusion while
filling out the form. In the input format, there are a lot of required pieces of information (See
Figure 6). Those are name, age, gender, species, color, size, last found date and time, last found
location, and contact information (See Figure 7). The required information is labeled with a star
(*). Examples of the unrequired information are the bracelet color and bounty. For the dog’s
color, users can choose the drop-down menu. Moreover, dogs usually contain more than one
color but not more than three; therefore, users can specify up to three colors for one dog. In the
last found location, users can pinpoint the exact location on the map (See Figure 9). In the last
found date, users can select the exact date that the dog went missing from the calendar (See
Figure 10). Users are required to fill in the Line ID since Line is the most common social media
that Thai people use to contact each other (See Figure 10). Lastly, users need to provide the
image of the dog which is crucial for identifying the dog from each other.

Figure 6: Creating Lost Post button (Top) and Creating Found Post button (Bottom)

Figure 7: Input Format


Page 12 of 26
Figure 8: Last Found Date Input

Figure 9: Map

Figure 10: Contact Information

Page 13 of 26
Figure 11: Image of the dog

4.3 Use
Sitemap diagram is developed to elaborate the structure and hierarchy of the application’s
components which are page, section, and path (See Figure 12). The sitemap diagram has the
purpose to see the overview of the application to make it organized for users, and how users
navigate from one section to one another with a specific condition, and also checking the
correctness of each path that is connecting each other. Each section’s color will represent the
condition of navigation, blue represents a section that is public or unregistered users can access,
green represents a section that navigates to another section where only registered users are
allowed, pink represents a section related to authorization, and yellow represents a section that
navigates the user to exit the application.

The Find Dogs page is the index page or first page that all users will receive when retrieving
our application. The Find Dogs page will show the list of finding dogs from pet owners. Users
can apply the search filter on this page (See Figure 2). Each post can navigate to the Dog
information page which will show deeper information about each individual post and can get
contact information to the owner of the post. The Find Dogs page contains sections that navigate
the registered users to their own post page and also create a post section, otherwise, it will
navigate the anonymous user to the Log in or Sign up page. Find Dogs can also navigate to the
Found Dogs page which has the same section as the Find Dogs Page but will show the lost or
found dog from people who find the lost dog. My Posts page is a page that shows the list of posts
that are owned by the user account. Users can configure posts on this page; for example, create
post, delete post, and extend post. Post Overlay is the section that will overlay when registered
users want to create Post by displaying an input form for users to insert lost dog information (See
Figure 6).

Page 14 of 26
Figure 12: Site-map diagram

Page 15 of 26
5 IMPLEMENTATION AND DEPLOYMENT
After the design was completed and validated, the implementation phase began. In the
implementation phase, our team planned to apply the Agile software development life cycle to
the work environment for the purpose of constant collaboration with team members and
continuous delivery of the product. Each sprint is two weeks long with daily stand-up meetings
to discuss progress and brainstorm solutions to challenges. The big picture of the implementation
phase is divided into five stages including project initiation, development, testing, deployment,
and feedback.

5.1 Project Initiation


The project initiation phase started with the team identifying and breaking down the tasks
that correspond to the design requirement. The scope of the tasks was split into frontend and
backend tasks. For the frontend development, the tasks were designed and broken down
according to each functionality such as form component, filter component, lost dog feed, found
dog feed, and profile. For the backend development, the tasks were designed and broken down
according to the APIs that serve each functionality such as user API, lost and found dog data
API, creating post API, and filter API. Then, the team prioritized the tasks, assigned user stories
to each task based on priority, created product backlogs, and assigned them to each sprint. Our
team used Jira as a main tool for product development and Line as a communication channel.

Before the development phase begins, our team has to design the application first. Figma is
being used as a tool for designing both wireframes and user interfaces. Every component and
page in the application would be first designed and evaluated by every team member so that each
flow of the components is able to perform correctly with respect to the requirements. The design
would cover both interfaces of web browser and mobile in order to serve the responsiveness of
the application so that users can access the site from every device. After the design is done, it is
processed to the next stage: the development phase.

Figure 13: User interface from Figma

Page 16 of 26
5.2 Development Phase
The project environments and workspaces for both frontend and backend were set up
including necessary dependencies, project structures, vision controls, and third-party
connections. The frontend development used NextJS and tailwind CSS framework as the main
tech stacks, while the backend development used serverless integrated with AWS services
including Lambda, User Cognito, S3 Storage, DynamoDB, etc. All the development is done via
VScode as the main integrated development environment(IDE) and Github as the tool for vision
control. The team followed the Agile software development methodology as frontend and
backend development could be implemented parallelly. Each team member picked up tasks
according to one’s specialty and experience. During each sprint, the team completed the
development of specific features and functionality based on product backlogs. Each completed
functionality and feature was reviewed and evaluated by the team member at the end of each
sprint. Also, daily updates and discussions were done during daily standup meetings. After both
frontend and backend development finished, it proceeded to the integration development of these
entities in order to deliver a seamless web application for lost and found dog data.
● Here are the repositories for both frontend and backend that are stored on Github:
○ Frontend: https://github.com/soponkntg/find-my-pluto
○ Backend: https://github.com/latte34844/findmypluto-serverless

Figure 14: Overview design architecture

The figure above is the overview software architecture of the Find My Pluto system. As
stated in the previous paragraph, the frontend will be developed using NextJS as the main
technology stack, while backend uses the serverless architecture of AWS service due to its
benefits of ready-to-use service. It can be seen from the diagram that several services of AWS are
being used. The frontend relies on AWS Amplify for hosting and access to AWS Cognito service
which is used to store user pool data. Then, the AWS Single Storage service is used to store
image objects such as pictures of lost and found dogs, and it also interacts with AWS Lambda
which is the main service for backend serverless architecture. AWS Lambda service serves as the
function of traditional backend service and is responsible for accessing the database. The
Page 17 of 26
database uses the service of AWS Dynamodb for non-relational databases. Automated tasks will
be triggered by the Amazon Event Bridge service running in the background. This architecture
was designed to ensure an efficient and effective system functioning. Besides that, users will
access the Find My Pluto system through the internet with the help of AWS Route 53 and AWS
API Gateway services.

Here are the APIs specs for the backend:


API Method API Name Data Description

POST getCards Request Body: Retrieves a list of


{ animals based on
"userId": "string", provided filter
"animal": "string", parameters.
"postType": "string",
"species": "string",
"gender": "string",
"colors": ["string"],
"braceletColor": "string",
"size": "string",
"lastFoundPlace": "string",
"lastSeenFrom": "string",
"lastSeenTo": "string"
}

GET getCardsByUse URL Parameters: Retrieves a list of


r ● userId (required): string animals posted by the
user with the given id.

GET getCard URL Parameters: Retrieves the details of a


● animalId (required): string specific animal with the
given id.

POST postCard Request Body: Creates a new card with


{ the provided data.
"userId": "string",
"userName": "string",
"postType": "string",
"animalName"?: "string",
"age"?: number,
"animal": "string",
"species": "string",
"gender": "string",
"colors": ["string"],
"braceletColor"?: "string",
"size": "string",
"lastFoundPlace":{

Page 18 of 26
"province": "string",
"district": "string",
"subdistrict": "string",
"lat": number,
"lng": number,
},
"lastSeenAt": "string",
"userName": "string",
"contact": "string",
"images": ["string"]
}

PUT extendCard/{an URL Parameters: Extend the expired time


imalId} ● animalId (required): string of lost or found dog
information, otherwise it
will automatically delete
from the system in 30
days.

DELETE deleteCard{ani URL Parameters: Deletes an existing


malId} ● animalId (required): string animal card with the
specified animal ID
when the lost or found
dog is returned to the
owner.
Table 3: APIs spec description

5.3 Testing
Throughout the Agile software development life cycle, the team tested the developing system
with both manual and automated methods. The test cases covered functional, behavioral, and
security models of the site.

For automated testing, a unit testing technique was used to test the functionality of the
system. Several test cases were designed in order to test and ensure that every API performs
correctly according to functionalities. Here is the test description of each unit test. Except for
APIs related to users including sign-in, sign-up, and logout APIs, these APIs rely on third-party
CLI which is not relevant to our developing APIs.
● The ‘getCards’ API should return information about every dog without or with filter
parameters including dog species, dog genders, dog colors, lost or found date, and lost or
found location, and the returned result should be ordered according to the time that
information is created in the system.
● The ‘getCardsByUser’ API should return information of every dog that the user whose
userID is provided is created.
● The ‘getCard’ API should return all necessary data about specific dogs.
● The ‘postCard’ API should create a new record of data in the database.
Page 19 of 26
● The ‘extendCard’ API should extend the expired date of a specific post.
● The ‘deleteCard’ API should delete the data record of a specific post in the database.

For manual testing, integration test plans were developed to assure the system displays data
and performs correctly. Each integration test was designed according to the functionality and
behavior of the web application. Here is the table and steps of each test case.

Test Case Description Test Steps Expected Results

Check user signup 1. Navigate to the sign-up Users should log in to the site
page and new user data should be
2. Create a user with a valid created in the user pool.
email and password
3. Validate the user by using
the validation code sent to the
registered email

Check user login with valid 1. Navigate to the sign-in User should log in into an
data page application
2. Log in with the valid user
date from the previous test
case

Check user login with invalid 1. Navigate to the sign-in User should not log in to an
data page application
2. Login with invalid user
data

Check user logout 1. Navigate to profile page User should log out from the
2. Click on the logout button application

Check found dog post 1. Navigate to found dog page The application should show
all the posts of found dogs.

Check lost dog post 1. Navigate to the lost dog The application should show
page all the posts of lost dogs.

Check user posts when the 1. Log in to the application The application should show
user is logged in 2. Navigate to the profile all the posts for both lost and
page found dogs that users created

Check user posts when the 1. Navigate to the profile The application should
user is not logged in page redirect the user to the sign-in
page

Check filter functionality 1. Navigate to the lost dog The application should only
page of found dog page show dog posts that match

Page 20 of 26
2. Use the filter function to with filtered parameters
filter the post based on the
parameter

Check dog detail 1. Navigate to the lost dog The application should
page of found dog page redirect users to a page that
2. Click on one specific dog show all the detail about the
post specific dog

Check delete post 1. Log in to the application The application should delete
2. Navigate to profile page specific posts and delete them
3. Click on the delete button from the database.
for specific posts
Table 4: Integration test description

Besides those tests, our team also tested the security of the application by making a request to
guarded APIs without an authorization token and to every API from an anonymous agent. Using
tools such as Postman allowed our team to test the APIs by making requests to the application.
Guarded APIs would respond with error messages when making requests without any
authorization token attached. Also, every API would respond with error messages when making
requests from anonymous agents.

5.4 Deployment
The deployment phase involved the hosting website process on AWS Amplify service.
Continuous integration and deployment (CI/CD) was being applied to deploy updates to websites
automatically. The hosting pipeline was integrated with source code from GitHub directly, so any
update to the source code would trigger the pipeline to deploy a new version of the application
automatically. Then, our team needed to purchase a wanted domain name from Namecheap and
created a new DNS record with the purchased domain. With Amplify, the application benefits
from auto-scaling to handle a high volume of traffic. On top of that, our team also added an SSL
certificate to the application for the purpose of security from HTTP protocol.
● Application: https://www.findmypluto.com/

After the deployment process is done, users can access the Find My Pluto system from the
above link. Users are able to use the platform to create announcements for lost and found dogs
and browse the platform for lost and found dog information. Even though the platform can
function correctly with respect to the requirements, the awareness of the platform is still little
among the lost and found dog owners. Therefore, our team is trying to create a community for
both lost and found dog owners in two social media platforms which are Facebook and
Instagram in order to gain awareness and interaction from the users. Currently, some of the new
users are posting their lost and found dog information on our platform.

Page 21 of 26
6 RESULTS AND DISCUSSION
6.1 Results
The project was developed with the intention of helping lost dog owners find their missing
dog and helping lost dog founders return the found dog to its rightful owner. The application is a
cloud-based application hosted mostly on AWS Cloud. The system has functionalities that are
designed to meet the requirements and improve the finding and reuniting process. The system
has different pages, one for lost dog owners and one for lost dog founders, so that users will have
two distinct communities separated by their purpose. The system also has a search filter to help
users see only the posts that have related to the search keywords users gave. The search filter is
also applicable to filter the posts based on the district and province. When creating a post, the
system has an input field that helps users know what information is necessary, and what
information must be provided. This will ensure every post has the necessary information for
finding its counterpart. In some more important fields, the system has a drop-down menu for
users to select, so that users will have limited choices of input.

After the application’s implementation, we also conducted technical testing to test the
functionalities of the application. Users can sign up for an account with the platform and the
system can verify the identity of the user. Our team confirms that users navigate each and every
page in the application smoothly. Moreover, the search filter shows the result posts which are
filtered by gender, species, colors, last found date, and location. The user is also able to create
the post successfully if he or she is registered to the system. Lastly, registered users can modify
their posts by deleting or extending their expiry date.

After the application went public, our team also promoted the awareness of the platform via
social media such as Facebook and Instagram which is also used as a channel to gain feedback
from real users. Currently, there are a total of over 200 users following our social media
channels. The community of lost and found dog owners are slowly built and Find My Pluto
gradually gains attention from the community. Some of the users already built the lost and found
dog announcement in the application, and it showed that users can successfully create the post
without any problem. This shows that the application can perform well with respect to the
requirements.

However, there was also some feedback from the users about the application. Firstly, users
suggested that the application should cover other provinces than only Bangkok which is opposed
to our scope that focuses only on the Bangkok area first. Furthermore, users also provided
feedback that the application should cover other types of pets such as cats as well. Based on
users' feedback, our team already improved the application according to users’ needs. Even
though this feedback and improvements will not be further discussed in this report since it is out
of the project’s scope, the team will continue to improve the application with respect to the users’
feedback.

Page 22 of 26
6.2 Discussion
The test results demonstrate the potential impact of the dog uniting application in reuniting
lost dogs with their owners and returning found dogs to their rightful owners. The fact that the
platform can perform correctly regarding the requirements indicates that the application has the
potential to make a significant contribution to the dog owner community. The ease of use of the
search filter and creating post features may have contributed to the likely-successful outcomes of
finding missing dogs and returning found dogs. The cloud-based architecture also ensured fast
and reliable access to the application, which is crucial for timely responses to lost dog incidents.
Based on the test results, we recommend further marketing to a broader audience to test the
application on larger test subjects and make a bigger impact on society.

Page 23 of 26
7 PROJECT GLOBAL IMPACT
On a global scale, this application is designed to be compatible with every dog species
because the input format in the application contains the information that is crucial when finding
dogs and returning dogs, and that information regarding the dog is the same throughout the
world, not limited to only Thailand. Moreover, the application can be accessed from anywhere
around the world. It also operates continually and scales with the cloud infrastructure to the
number of users so there is no national limitation in terms of accessibility. Location-related
parameters are also applied for all countries, thus there is no problem if users can specify the
location with latitude and longitude. However, contact information may differ among countries.
For the contact information, now the application is using Line as a point of contact between lost
pet owners and lost pet founders. The Line is the most used social network platform in Thailand,
but not globally. Therefore, if the system is used in other countries where Line is as popular as
Thailand, they may consider adjusting the communication media to be a more popular one.

On regular terms, the application also has a positive impact on local communities by bringing
people together and promoting community involvement in finding lost dogs. It creates unity
among dog owners and encourages people to work together to help dogs in need. Overall, the
application has the potential to improve the lives of millions of dogs and their owners, encourage
responsible pet ownership, and develop a feeling of community among dog owners and dog
lovers all around the world. Furthermore, the process of finding lost dogs and returning dogs
does not limit to only dogs. Such a process can be duplicated and used on other animals. Thus,
the project could have an impact not only on the dog owner community but also on the pet owner
community as a whole.

Page 24 of 26
8 CONCLUSIONS
8.1 Assessment
Find My Pluto has functionalities that meet all the requirements. One of Find My Pluto's
strengths is its usage of dependable and cost-effective cloud-based services from AWS including
Amazon Cognito, Amazon API Gateway, AWS Lambda, Amazon DynamoDB, and Amazon S3.
These services facilitate integration with other AWS services and create a better system
performance and smoother user experience. Another strength is the functionalities of the
platform. Find My Pluto has a user-friendly input format, for providing information about lost
dogs, with mostly one-word input forms and drop-down choices to prevent errors. The input
format when creating a post ensures that all relevant information is provided and also
acknowledges users what information they need to provide, which is aligned with the
information that is necessary for the finding process. The search filter with parameters, the
expired dates, post pools for lost dog owners and lost dog founders, and the search results sorted
by created date also help users filter out irrelevant posts and focus on the potential posts,
reducing the users’ tasks and minimizing the time to look through pools of posts.

8.2 Next Steps


In contrast, Find My Pluto still has a small user community. Despite more than hundreds of
followers on social media and the system's technical infrastructure that is designed to scale to an
extent the amount users, our system still has less than a hundred users. Thus, it is difficult to
determine the scalability and effectiveness of the application in the larger community. Besides,
Find My Pluto has a strong core competency of having an input format to ensure the
completeness of the given information and filtering out irreverent announcement posts to let
users focus on the relevant posts. The potential room for improvement is to standardize the input
format for other pets since the current finding and returning process can be duplicated and
applied to other animals with little or no modification. Another is to provide more options for
contact information, which also helps in globalization and expands the users to other geographic
areas.

Page 25 of 26
9 REFERENCES
[1] Guide, Step. “Lost Pet Statistics.” Lost Pet Research and Recovery,
https://lostpetresearch.com/2019/03/lost-pet-statistics/

[2] Hageman, William. “Lassie, come home: The problem of lost dogs.” Chicago Tribune, 8
April 2015,
https://www.chicagotribune.com/lifestyles/sc-fam-0414-lost-dog-app-20150408-story.ht
ml

[3] “How Long Does It Take To Recover a Lost Pet?” Pet FBI, 4 May 2016,
https://petfbi.org/how-long-does-it-take-to-recover-a-lost-pet

[4] “How to Stay Healthy Around Pets and Other Animals | Healthy Pets, Healthy People |
CDC.” Centers for Disease Control and Prevention,
https://www.cdc.gov/healthypets/keeping-pets-and-people-healthy/how.html

[5] “Lost Dog Behavior.” Pet FBI, 24 January 2014,


https://petfbi.org/what-to-do/lost-dog-behavior

Page 26 of 26
Information Management Platform for Lost-and-Found Pets
ORIGINALITY REPORT

3 %
SIMILARITY INDEX
2%
INTERNET SOURCES
0%
PUBLICATIONS
2%
STUDENT PAPERS

PRIMARY SOURCES

1
caedes.net
Internet Source 1%
2
Submitted to Asia Pacific University College of
Technology and Innovation (UCTI)
<1 %
Student Paper

3
Submitted to Kingston University
Student Paper <1 %
4
Submitted to Coastal Carolina University
Student Paper <1 %
5
searchsoftwarequality.techtarget.com
Internet Source <1 %
6
www.coursehero.com
Internet Source <1 %
7
yosemite.epa.gov
Internet Source <1 %
8
Submitted to American Public University
System
<1 %
Student Paper

9
gist.github.com
<1 %
Internet Source

10
umpir.ump.edu.my
Internet Source <1 %
11
Nick Alteen, Jennifer Fisher, Casey Gerena,
Wes Gruver, Asim Jalis, Heiwad Osman, Marife
<1 %
Pagan, Santosh Patlolla, Michael Roth. "AWS®
Certified Developer Official Study Guide",
Wiley, 2019
Publication

Exclude quotes On Exclude matches Off


Exclude bibliography On

You might also like