0% found this document useful (0 votes)
298 views36 pages

Secure Dating App for Californians

This document presents an executive summary for a capstone project proposal for a dating web application called "Date and Be Safe". The project aims to create a secure dating platform that focuses on protecting users from scammers and fake profiles through features like location-based registration tied to Google geolocation. The goals are to build a unique dating app that emphasizes security and safety for users while keeping the design simple and economical. The project will be implemented as a web application with the potential for future mobile app development.

Uploaded by

api-446884357
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
298 views36 pages

Secure Dating App for Californians

This document presents an executive summary for a capstone project proposal for a dating web application called "Date and Be Safe". The project aims to create a secure dating platform that focuses on protecting users from scammers and fake profiles through features like location-based registration tied to Google geolocation. The goals are to build a unique dating app that emphasizes security and safety for users while keeping the design simple and economical. The project will be implemented as a web application with the potential for future mobile app development.

Uploaded by

api-446884357
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 36

Date and be Safe

A Capstone Project Report

Presented to the Faculty of CST 499 at

California State University, Monterey Bay

In Partial Fulfillment of the Requirements for the Degree

Bachelor of Science in Computer Science

By:

Lina Deen

James Doskocil

Fall 2020
2

EXECUTIVE SUMMARY OF PROPOSAL

Date and Be Safe

By:

Lina Deen & James Doskocil

Bachelor of Science in Computer Science

California State University Monterey Bay, 2020

The purpose of this project is to build a dating web application. The goal for this project

is to create a dating website that will focus on the security of its users, by installing safeguards

against scammers, and other users who would seek to use the app for nefarious purposes. This

will be accomplished by installing location-based registration in an effort to mitigate fake

profiles, since the majority of scammers are from distant locations (predominantly Africa and

Asia). By restricting the location and tying it to the google geolocation of the user, accounts

accessed in other locations will be exposed.

The general users of dating apps/sites are people of ages 18+, and this app will also serve

that demographic. This project will seek to limit the demographic scope to areas local to the team

members, that is Los Angeles and Orange counties in California. This may be expanded to more

of California if there is sufficient interest. The outcome of this project will lay the foundations

for an eventual app. While the scope of this project is somewhat limited, the goal is to build the

foundations of what can eventually become a fully fleshed out mobile app.
3

TABLE OF CONTENTS

EXECUTIVE SUMMARY …………………………………………………………………………..…….2

PART I BACKGROUND AND APPROACH…………………………...…………....………….……..4

Introduction & Background………………………………………………………………….…….4

Project name and description…………………………………………………………....….……...4

Issue: Vulnerability of users and Abuse by Scammers…………………………………….……....5

Solution: Dating App emphasizing security features………………………………….…………...5

Project Goals and Objectives………………………………………………………….…………...6

Stakeholders and Community……………………………………………………….……………..7

Evidence of Need.…….………………………………………………………………….………...7

Project Feasibility……………………………………………………………………….…………8

PART II DESIGN REQUIREMENTS……………………………………………….……....…………..9

Functional Decomposition…………………………………………………………….…………...9

Selection of Design Criterion………………………………………………………….………….10

Final Deliverables…………………………………………………………….....………………..10

Approach/Methodology……………………………………………………………….………….11

Legal Considerations……………………………………………………………...…….………..12

Ethical Considerations………………………………………………………………….………...13

PART III PROJECT IMPLEMENTATION & DISCUSSION…………………….…………….……...14

Timeline/Budget………………………………………………………..….……………………..14

Usability Testing/Evaluation…………………………………………………………...………...16

Final Implementation……………………………………………………………………………..17

Problems Encountered & Project Discussion………………………………………………….....23

Conclusion………………………………………………………………………………………..24

REFERENCES…………………………………………………………………………………………….26

APPENDICES…………………………………………………………………………...………………..27
4

PART I

Introduction & Background

In the past few years, online dating has become a popular trend. Modern life is very busy

and that has resulted in single people having almost no time to go out and meet other singles, but

dating apps have been an innovation to solve that problem. Many emerged throughout the past

few years, and they are diverse with a niche for almost everyone. Thus, for older or younger men

and women dating apps gave them the opportunities to do it all at the comfort of their home.

Nevertheless, without going through the uncomfortable meetings not knowing if they are going

to like each other, subscribe then post pictures and match with others that share the same

interests as dereferences. Moreover, they start chatting and exchange phone numbers if they feel

they like each other, then meet up at the end.

Project name and description

The name of the project is Date and Be Safe. It is a dating app that implements many

security features to prevent fake accounts, catfishers, and scammers. There are no clients for this

project at the moment, as it was a side project that we seek to bring to fruition. For this project

we will create a dating site web application, with the hope that eventually it can be made into a

full-fledged app.

Digital dating has been a popular trend in the past few years. However, it can be

dangerous since most dating apps implement very little or no security features to identify the

user, and when they do it is often not accurate and or enforced. For example, anyone can create a

profile by using fake pictures they stole from someone's online social media, and can create an

account using a fake name, date of birth, and address. This project is similar to the many dating
5

apps used today in which singles meet, match, and connect using bios and pictures. However, it

will be different in the sense of security and privacy, the flexibility of choice, and the

subscriptions prices. This project will set itself apart by placing a high emphasis on security, by

using google geolocation to lock users into specific locations. This will eliminate or heavily

mitigate scammers ability to fake the location they are from. The web app will be designed for

easy efficient use, with a simple aesthetic.

Issue: Vulnerability of users and Abuse by Scammers

One of the major issues in dating applications is that of scammers and cat fishers. Since

the typical users for dating apps are those looking for love, many are open and vulnerable to

emotional manipulation. As a result, many vulnerable people end up falling into the trap of

scammers, fooled in the name of love. They are often emotionally manipulated and promised

endless love before they start getting extorted for money, or in extreme cases scammers will set

up fake meetings in an attempt at kidnapping the user. Many who fall for these scams end up

bankrupt, losing all their life savings, or ending up in debt. In some cases, individuals suffer

severe stress and end up taking their own life. Unfortunately, many of the larger dating apps use

automated reporting systems as their method of weeding out scammers and other mal-intentioned

users, and this can lead to a slow or even ineffective method of removing the harmful users.

Solution: Dating App emphasizing security features

The solution this project will attempt to implement is a security-based dating web app.

Many security features at the same time will make it much more difficult, if not impossible, for

imposters to breach. Since most dating apps are owned and run by larger corporations, they are

more invested in the financial benefits than the user “success”. As a result, scammers are not
6

dealt with quickly as they are additional revenue for the companies. This project will aim to

avoid this trap by setting security as the focal point of its appeal. The security features this

project plans to implement are twofold.

First, signing in to the dating website will be through a phone number, not email or

Facebook. The phone number cannot be a VOIP it has to be from a local carrier, which will have

immediate impact since many scammers use VOIP to fake account locations etc. Second, will be

capturing the google geolocation and not giving users the ability to choose their location. This

will allow users to see other users (that is potential dating matches) actual true location. Many

scammers will attempt to create fake accounts from other countries while saying they are

somewhere local. This locking of location will seek to remove that possibility. If there is time, a

third security method will be to verify users by using a software, such as google face recognition,

to verify if the users profile picture exists online, and if so if it matches the name of the user.

Project Goals and Objectives

Goals:

• Create a unique dating app/website that will stand out among others in the industry.

• Focus on user security, and create an environment where users feel safe.

• Implement security measures to ensure scamming and catfishing is heavily discouraged

and mitigated.

• Make the app/website simple and aesthetically pleasing.

• Make the app/website economical.

Objectives:

• Use React in order to build a simple but industrious app/website framework.


7

• Implement geolocation based security, in order to keep users defined to an area based on

the device they log in from.

• Implement phone number requirements for profile creation in order to avoid VOIP

scammers.

• Implement the use of profile pictures that are taken upon profile creation.

• Use a simple minimalistic design with css.

• Use free hosting services until a stronger financial situation can be achieved.

Stakeholders and Community

Since this project was initially a side hobby, the only stakeholders in the project are the

current team members. There are not currently any investors or any other third parties with any

interests in the project. Since this project will create a dating web application, the community it

serves will be those ages 18+ who are interested in dating. In an effort to keep the scope of this

project within a manageable timeframe, the initial community will be limited to Los Angeles and

Orange Counties, and potentially all of California if time/testing allows.

Evidence of Need

Since many scammers and catfishers use fake profiles to achieve their nefarious goals, it

is imperative that any dating site that aims to stop them implement features designed specifically

to counter those actions. First, scammers are often from various third world countries. On many

major apps they simply are able to set their location to anywhere in the world, or if they aren’t,

they use VOIP to counteract that. This project will use the google geolocation of the device

attempting to login in order to lock users into their location. Additionally, it will use unique

phone numbers as a requirement for login, allowing for the negation of VOIP. With these kinds
8

of security features, this project will demonstrate its strength in security in an industry (that is

dating apps) in which catfishing/scamming is widespread.

Project Feasibility

Bumble, Tinder, Matchmaker, Coffee Meets Bagels, and many more names all dating

apps and websites as the business press. Com article use of online dating websites and apps

stated dating apps were once viewed as stigma is now widely accepted to be a good way to meet

people (Smith and Anderson,2014) were and according to the same article 87 percent of single

America males and 83 percent of single American females view online dating as socially

acceptable (Statistics and facts, 2015) and the growth in popularity of online dating is due to the

advance technology. Dating apps are now almost the only way people meet because they are

easy. You do it at the comfort of your own home and it is easy to move away if you’re not

interested in the person.

This project will stand out because first and foremost it will place a strong emphasis on

security measures, in an effort to weed out malicious users. A strong framework of measures

against scammers and other malicious users will allow the user ecosystem to be much freer, and

allow users a chance at greater success finding a dating partner. Another area in which this app

will stand out will be cost, since the primary goal is to help the dating society first, and revenue

second. Along with this emphasis on benefiting the users, the goal would be to also provide

information not listed on other apps explaining warnings about scammers and how to spot a

scammer with articles and links to stories on the subject. Another goal to differentiate from other

similar apps is to make it much more flexible and more user friendly with a simplistic design.
9

PART II

Functional Decomposition

Since the project will be a web application, the overall design should be relatively simple.

We have built the framework website using React, so much of the code is in JavaScript. React

allows for easy implementation and organization of the various pages and files needed. React

also has access to a multitude of helpful libraries, and many will be used, such as tindercards, to

make code implementation as quick and as simple as possible. Since the goal of the project was

to create a working sample, the various components to the website were kept as limited and

simple as possible.

There are 3 main pages that will be displayed on the website, a login page, a new user

page, and the main display page. The new user page will save new profile information to our

online database, Firebase. When creating a new profile, there are a few constraints. First, the user

must allow both location and camera to be enabled in their browser. If neither of these are

allowed then the user cannot use the site. Next, the login will check the user’s geolocation. If the

geolocation is within the accepted areas, then a profile picture will be taken, and the users input

and picture will be saved to the database.

The login page will simply check that a user profile exists before allowing a user to

access the main display page. It will also have the same geolocation check as the sign in page.

Once logged in, the main display page will show available profiles for the user to match. The

profiles displayed are those stored in the Firebase database. A user will be able to “swipe” left or

right depending on how they feel about the available profiles, with the intention of finding a

match. If time allows, the “matched” profiles will be coded to save to the database, and a
10

messaging system will be set up for matched profiles to communicate. Since this project is only

to be a working sample with an emphasis on anti-scamming measures, the remainder of features

that most other dating sites include will be left out due to time constraints.

Selection of Design Criterion

Since this project is a working sample of a larger idea, the initial project should be

somewhat limited in scope. This will allow for a relatively quick functioning web app,

particularly since it is using React. However, the use of free hosting sites and a free database

system (Firebase) will limit the connection speed as more users begin to use the site. This will

also put a limit on the total number users until larger database and site hosting can be afforded.

Since this project is smaller in scope no efforts were made to pay for better hosting sites.

Ultimately this project should be able to scale well, assuming the necessary costs for hosting can

be met. React is a framework that can scale well to larger sites, and is used often in web

development. Additionally, many of the concepts that this project is implementing can be carried

over to larger sites, and even be improved. Due to the free nature of the Firebase hosting, site

security is at the discretion of Firebase. While their security features seem robust, this could

ultimately be improved with better hosting. The code size for this project should be relatively

small - 10-20 files, with a couple thousand lines of code at maximum.

Final Deliverables

The final deliverable for this project will be a functioning web application hosted on

Firebase. The web application will be able to identify and track a user’s geolocation, and lock

them from the app if they are unwilling to allow geolocation access to the app. The app will have

a sign in, log in, and main display page. The app will display profiles stored within the database
11

so that a user can favorite preferred matches. Database schema, Firebase links, and any other

appropriate links will be delivered as well as picutres/documentation of any user test results.

Source Code will be delivered in a zip file.

Approach/Methodology

This project has been approached in an organized structured manner. Research was

primarily spent either through deep dives through google, or through exploration of

React/Firebase tutorial videos and documentation. Each week the team members met 1-3 times

in order to discuss what was to be implemented, what needed to be done next, and to distribute

weekly tasks. Each week focused primarily on one aspect of the project, with small extensions

when a weekly goal wasn’t met.

Before the first week of the course, there was a great deal of research and information

gathered. Team member Lina Deen spent several months signing up for some of the various

dating apps in an effort to study how they were designed, as well as see what was offered or

missing. She took note of the ways in which she felt unimpressed, and made notes on what could

be done differently, what things to avoid, and what methods other users use when using dating

apps. She also spent a great deal of time interacting with and researching the methods of

scammers, so as to know what they do and how to identify them. She found that many of these

apps were very similar, and that the scammers tended to use similar strategies across the different

platforms.

Having done much of the needed research, this project was then broken down into some

major milestones that needed to be accomplished. First, the general website layout and pages

were designed and coded with JavaScript using React. Next, the security features were
12

implemented, followed by the necessary tweaks to the profile code. This was done concurrently

with the tindercards set up for the main display page. From there, much of the remaining effort

was spent implementing and solidifying the connection to Firebase. Once the Firebase

connections were established, profiles were fully fleshed out for what would be stored in the

database. Finally, the website was to be made live for testing. After testing final details and any

remaining logic issues were solved.

Legal Considerations

There are two major legal considerations that this project will observe. First, is the issue

of data privacy. Like any other application that stores user data, there will need to be strong

security measures to ensure private data for each user is safe from threat of external discovery,

such as from hackers, or internal abuse, such as employees or 3rd party software. As data

tracking has become more and more of a hot button issue in the United States, measures will

need to be implemented to abide by laws regulating such data tracking. Since strong data security

measures are a bit beyond the scope of time for this project, the only implementations will be

secure logins and profiles, as well as secure hosting for the site.

The other consideration is that of abiding by laws regulating the use of dating apps by

minors, as well as those relating to predatory or other unwanted sexual content. These issues are

of utmost importance in designing an app that is online and is romantic in nature. Measures have

been implemented to ensure that age verification is strictly enforced. In addition, there will need

to be safeguards on the sending of content between users, such as restricting the sending of

explicit images or other content.


13

Ethical Considerations

According to the Federal Trade Commission Consumer Information (2019), many people

turn to online dating apps or websites hoping to find someone special. However, instead of love

many find scammers trying to trick them for either romance or money. Many scammers operate

primarily from African countries such as Nigeria and Ghana, and use those dating apps to take

advantage of the lack of privacy and security inherent in the apps to scam vulnerable individuals.

The primary motivation for these scammers includes money, faux romances, and in some cases

very nefarious purposes such as sex and drug trafficking. Unfortunately, these scams can cause

damage to many both financially and emotionally, and in extreme cases leading some individuals

to sadly commit suicide.

Scammers tend to share similar traits that are based on lies. These traits include acting

very affectionate, working abroad such as on an oil rig or military deployment, and typically

being a well-to-do individual who has a sudden need for cash. The distance allows them an

excuse from meeting in person. They usually claim to need money for an emergency such as

emergency travel/medical expenses, customs fees, or any other seemingly reasonable debts they

can conjure.

An example would be that they lost a wallet and need to pay for a surgery, or they are in

trouble and need the money to save their lives. It is usually hard for people to identify if the user

is a scammer or not. These scammers mostly live outside of the United States, and they will steal

pictures from random people, then use them as their own under a fake identity. They will use a

VOIP phone line to subscribe which gives them access to choose a local United States address.
14

Another ethical concern that could be an issue is that of the abuse of personal data. Many

large tech companies, predominantly social media companies, have faced increasing public

frustration over the acquisition and tracking of personal data. This project will seek to keep user

data completely confidential, and has no current or future intentions of using this data for

anything other than the project's stated purpose. By keeping personal data safe and secure, and

by not implementing data tracking features, users can sign up for the finished app without

concern.

PART III

Timeline/Budget

The execution of this project followed a modified version of the timeline that was

outlined in the project proposal. This was in part due to unforeseen issues, as well as changes in

the approach and software that we felt were necessary for better implementation of the project.

For an overview of changes in the weekly goals/accomplishments, see appendix A. While the

week to week timeline did change from the project proposal, the overall milestone goals largely

did not, although some were not reached due to time constraints. The milestones this project set

out to accomplish (as outlined in the proposal) were as follows:

• Create an html/css framework to act as the site skeleton

• Implement a database, and sync it to the front-end code

• Implement search and save functionality for profiles

• Implement security features


15

Of these, the only milestone that was not hit was the implementation of the search function. This

was largely due to the short timeframe from which this project was given to work with. It is

assumed that this would be easily completable should the project continue.

There were some minor changes to the other three milestones. First, the html/css

framework was built using React js. This was not originally planned, as the thinking at the time

of the proposal was to use Amazon AWS. Using React however gave the team members a

chance to apply their knowledge to a new software. React gave team members the ability to tap

into several different sub packages, which made the overall implementation of the project easier.

The next milestone that was changed was the implementation of the database and website

hosting. During the switch to using React, Firebase was discovered as a reasonable solution to

hosting both the database and the application. The Firebase setup did not require extensive SQL

programming, instead allowing team members to create the needed tables using a GUI. This also

gave them the flexibility to modify tables within the database on the fly while editing the code in

React. Additionally, while the original goal was to complete the database connections second,

this was ultimately moved to the end as issues arose that pushed back its implementation. Instead

the security features were the second milestone that was reached.

In terms of cost, this project was able to stay within budget. The use of free software

allowed the project to continue full steam ahead. Firebase contains a free version that allows

users to host small web applications, with limits on data and per day access. Since this project

was meant to model an idea, these limitations were deemed acceptable.


16

Usability Testing/Evaluation

Testing is a key component of any programming project, and this project was no

exception. In the project proposal, there were forms of testing that were proposed, as well as a

timeline to begin testing around week 5. However, with the flight changes to the timetables and

scope of the project, the testing that occurred was slightly different than what was originally

intended. These changes were both out of desire to be efficient in the project implementation. In

the project proposal, the 3 phases of tests were to be team member testing, unit testing, and peer

testing. Due to the time constraints, unit testing was sidelined as a future goal. Instead, the team

member testing was largely increased, and implemented every week. There were no changes to

the peer testing.

Usability testing for this project occurred in two different stages. The first stage was

concurrent throughout the entirety of the project timeline. This was the testing of each bit of code

by team members. With each new implementation of features, the team members worked to

constantly “break” the new feature through live testing to ensure that it functioned as intended.

This was done through either running the application locally, or after the application was

deployed, using the live application. These tests included things such as checking for spelling

errors, checking login features, testing database connections by sending/receiving data from

Firebase. Both team members contributed to this, and weekly meetings were held to discuss

issues that were found or improvements that could be made.

The second phase of testing occurred in week 6. The second phase was the peer testing of

the deployed application. While the original goal was to begin peer testing in week 5, there were
17

some issues with the Firebase code not deploying correctly and so the peer testing was pushed

back one week.

The peer testing consisted of a questionnaire that was emailed to three individuals (See

Appendix B for Blank Questionnaire), which they then emailed back with their responses. The

questionnaire detailed a list of instructions, with questions for the tester to answer as they

progressed through each part. The peer testing revolved around the implementation of the

security features. The peer testers were asked to open the deployed application, and disable the

location and camera access. From there they were asked what they could access on the

application. They were asked to do this again after enabling the location, and again after enabling

the camera. The testers were asked to create a profile, as well as test this new profile on the log

in page. Testers were also asked for general feedback after finishing the instructed questions.

The general results of the peer tests showed that the location and camera security worked

as intended, as it disabled user access. However, the peer tests also showed that the login page

was not working as intended, as 2 testers found that they could log in without any username or

password, or with different usernames and passwords than they previously created login. After

examination this was due to an incorrect implementation of the Firebase code on the login page,

which was fixed later. Overall, the user tests showed that the core mechanics the project sought

to accomplish were working as intended, though there were other areas that still needed work.

(See Appendix C for the completed user Questionnaires).

Final Implementation

This project sought to create a proof of concept for a dating app focused on user security,

and mitigating the abuse of scammers. To do this, the application was built in React, using
18

node.js and axios. Both team members used Visual Studio Code as their IDE for the project. The

application was hosted on Firebase, and also used the Firebase Cloud Firestore for the database

implementation. The application was written predominantly in JavaScript, with small pieces of

both html and css. The deployed application can be seen at https://safe-dating-7da1a.web.app/.

The overall design of the code follows the general React framework that is

recommended. The various pages and components are broken into smaller manageable files that

are then referenced throughout the program. Each file makes reference to the necessary

components and files that it needs to draw from, such as in image 1 below. The overall file

structure is laid out as seen in image 2.

Image 1 Image 2

The design of the project was laid out in a simple format. There are 4 pages: a login page,

a sign-up page, a main page, and a chat page. The chat page is incomplete, and only represents a

sample of future goals. The login page is the index page and acts as the home page as users first

access the application. The login page has a connector button that leads to the sign-up page.

Upon a successful login the user is brought to the main page. The main page displays the

available profiles stored within firebase to the user, and they can choose to swipe right or left.
19

The functionality for saving preferred profiles was not able to be fully fleshed out in the time

table for this project.

The login page has a few major components. At the top it contains a message to the user

regarding internet scammers, as well as the site logo. It then has two input boxes, one for an

email and one for a password. If the user does not enter a valid email address, then they will be

notified and unable to continue. This is controlled by using built in React functions to check for a

valid email address. Underneath the login form is a button that routes users to the signup page.

One of the main objectives of this project was to implement security features to mitigate the

abuse of scammers. The first application of this was on the login page. When first accessing the

page, the user will need to allow the application to check its location. Not doing so will result in

the user being unable to log in. This location check is done on the first attempt at accessing the

site. The geolocation is tied to the users ip address, and is therefore the way the app will

manipulate user locations. At the time of this writing, the login page does not currently check the

user against the database, although completing that function is a goal of the final week.

The sign-up page contains the main focus of the security features. It is a simple layout,

with a form asking for some basic user information. Like the login page, geolocation must be

enabled in order to access the page. An example of the geolocation code can be seen in image 3

on the next page.


20

Image 3

In addition, a camera must be enabled as well. Not allowing the camera will allow the

user to see the page, but will not allow the user to create a profile. At the bottom of the page

there is a picture frame that displays the current view of the camera. It also contains a button to

take a picture of the camera view. The purpose of this is to be the profile picture taken by the

user. This will mitigate the use of stolen profile pictures for scammers. With both of the

requirements enabled a user can press the sign-up button after filling out the form and taking a

picture. This profile will then be saved to the database, and will display a message notifying the

user of account creation.

The platform page is displayed after a user successfully logs into the application. This

page has a nav bar at the top, as well as a series of buttons at the bottom. The main view of the

page however, is the display of profiles that are stored in the Firebase database. The application

makes use of the tindercards package found in React to display the various profiles as

“swipeable” cards. Currently, the implementation of saving these cards has not been finished,
21

and was decided to be outside the scope of this project given the time limits. The code in image 4

below shows the database connection of the tindercards feature.

Image 4

The final page of the site is the incomplete chat page. For now, the page makes use of the

Firebase chat function. This page allows users to communicate via messages. Since this project

was meant as more of a proof of concept for the security features already discussed, this page

was only given minimal attention during development.

The last major component to the design of the project is that of the database. The

database is stored and hosted on Firebase. Firebase is a NoSQL database. For this project the

Cloud Firestore was used to store the pertinent user information. Profiles that are created are

stored under the “people” collection. This collection uses the Firebase default ID’s for each user.

Each profile is a document according to the Firebase structure, and each document has various

fields for the user information. Additionally, these documents can also contain other collections,

which this project proposed to take advantage of in future efforts in order to store like/favorited

profiles for each user. An example of the Firebase structure can be seen in image 5, and the
22

proposed schema for the database can be seen in image 6, both shown below.

Image 5

Image 6
23

Problems Encountered & Project Discussion

There were a handful of issues that ultimately changed or inhibited the completion of this

project. First and foremost was the issue of time. Both members of the project work full time

jobs, as well as have families that they take care of. In both cases there were large work

deadlines that ultimately forced the team to put parts of the project on hold, as there simply

wasn’t enough time to complete all of the tasks desired. However, this does not detract from the

fact that the team spent as much time as possible trying to solve the issues presented and

implement a functioning application.

The second issue that occurred was a slight change in the timescale due to some growing

pains using unfamiliar software. The completion of the front-end framework was pushed into the

second week as the team members learned to use React. This also was the case with

implementing the Firebase connections. The original goal was to complete the Firebase

connections early, but due again to unfamiliarity with the system, its implementation was

stretched out over the duration of the project. The issues with Firebase occurred in this order

over the duration of the project: 1) The React code was not syncing properly with the database,

and no data could be retrieved or sent to Firebase. 2) The profile system was not properly

sending information, only retrieving it. 3) The deployment of the app over firebase was not

working as intended.

While these issues were ultimately resolved, they did limit other areas of the application

that could be implemented. For example, the chat feature was left incomplete, as it was not

deemed essential to showing the proposed idea behind this application. Another area that was
24

affected was the search and save features. It was realized during the struggles with Firebase that

these features would be outside the scope of what this project sought to accomplish.

Conclusion

While dating applications and websites are common forms of dating and meeting others

in the current age, they are not without danger. Scammers take advantage of relaxed security

measures to create fake profiles in an attempt to scam people out of money or other nefarious

purposes. They lie about their locations, steal pictures from social media accounts on the

internet, and use their charm to manipulate unsuspecting victims.

Given this issue, this project set out to create a proof of concept of an application that

could mitigate these abuses. This was conducted through the creation of a web application using

React and Node.js. Security measures to check for and track user geolocation were put in place

to remove scammers ability to lie about their location. Profile pictures were taken and saved

upon account creation in order to avoid the problem of stolen pictures on fake accounts.

While this project was only a proof of concept, there is much room for further

improvement and refinement. The team members both realized that due to the short scope of this

project, a fully-fledged application was not a realistic expectation. However, with time no longer

an issue, there are several improvements that the team feels could be made. First, would be to

fully flesh out the profiles system, including setting up the saving of favorited profiles to the

database. Next would be the implementation of the chat features. Lastly, a more refined profile

page would allow for a better search and display system for profiles, in order to better facilitate

user matches.
25

This project challenged both team members. Neither had used React or Firebase before

the beginning of the project, and this ultimately caused some of the greatest challenges the team

faced as they learned “on the fly” while creating the application. The team learned how to

effectively distribute tasks and organize work between two members. Ultimately, this turned out

to be one of the team’s biggest strengths - the organization of work and functioning as a team.

Both team members feel they were able to put their knowledge of web design to the test, and

ultimately came away from this project much more knowledgeable in the design and

implementation of web applications from the ground up.


26

References

ABC News In-depth. (February 11, 2019). Meet the scammers breaking hearts and stealing billions

online | Four Corners. Youtube.com.

https://www.youtube.com/watch?v=U4kCN7TZ6us&feature=youtu.be

Federal Trade Commission Consumer Information. (2019). What You Need to Know About Romance

Scams. Retrieved from https://www.consumer.ftc.gov/articles/what-you-need-know-about-

romance-scams

Johnson, K., Pontes, M. C., Vilceanu, M. O. (2017). Use of Online Dating Websites and Dating Apps:

Findings and Implications for LGB Populations. Journal of Marketing Development and

Competitiveness, Vol. 11(3), pages 60-66. http://www.na-

businesspress.com/JMDC/JohnsonK_11_3_.pdf
27

Appendix A

Comparison of Proposed Timeline and Actual Timeline

Week Proposed Schedule Actual Schedule

Before Research and planning: Research and planning:


Class · Research other dating apps to gain · Research other dating apps to gain
incite into their layouts, information stored incite into their layouts, information stored on
on user profiles, and general security user profiles, and general security protocols.
protocols. · Research suitable hosting sites, as well
· Research suitable hosting sites, as as needed tools.
well as needed tools. · Identify necessary pages/content in the
· Identify necessary pages/content in web app, as well as needed sites for hosting or
the web app, as well as needed sites for data storage.
hosting or data storage. · Plan major project milestones and
· Plan major project milestones and general path to building the web app.
general path to building the web app.

1 Finish planning and begin creation • Designed the main and login/ signup
initial html/css framework: pages in html.
• Finalize plans for project layout, as • Ported over previous code to React.
well as database design.
• Researched suitable hosting sites as
• Finalize approach for security
well as Researched using React.
features.
• Create a main page, login page, • Began researching vrious packages
profile page, pricing page (if it is that could be used in the application
determined this is necessary), and
search/profile carousel page.

2 Set up database: • Finished the html/css framework for the


• Begin with local database, for ease front end
of testing. • Researched Firebase, and began
• Create needed database schema for design of database
account information.
• Resolved issues with Git
• Initialize web communication
between app and database.
• App should be able to store profile
information by end of the week.

3 Configure search and carousel • Implemented the Geolocation and


mechanisms: camera security features
• Integrate database information into • Set up Camera on sign up page
the profiles and searches. • Continued Research on Firebase
• Use database information from connections and hosting
profiles to populate searches.
• Use database information to
populate carousel with similar
28

profiles, based on matching


keywords.

4 Finish search functionality, add • Separated the Login and Signup


messaging system. page.
• Finish any issues with • Began implementation of
search/matching functionality. database/Firebase connection on
• Add messaging system, as well as the main page.
logs between matched profiles.

5 Install Security measures: • Created profile system in Firebase


• Use google location to lock in user • Various minor tweaks/tests
location upon profile creation. • Attempted to deploy site
• Ensure login will lock for those
attempting to log in outside of
allowed areas.

6 Testing/Finish areas that still need work: • Deployed site to firebase


• Finish any areas of app that are not • Began Peer testing
complete, or that don’t function as • Fixed issues with Firebase profiles
intended. not syncing properly
• Begin testing various pieces of app.
• Create multiple profiles in database
for testing.
• Unit testing.
• User tests, if possible.

7 Testing continued. • Preparation for video presentation


• Various minor tweaks
• Team member testing
• Fixed issue with login page

8 Finalize any small details as well as fix • Final project testing


any known bugs, continue testing, and • Attempted to fix login sync with
prepare the project for turn in. Firebase
• Prepared project for submission
29

Appendix B

Blank User Questionnaire


30
31

Appendix C

Peer Tester Completed Questionnaires


32
33
34
35
36

You might also like