department of computer science - old dominion …410copper/labs/docx/lab1v2… · web viewmachine...

25
Running head: LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 1 Lab 1 - University Friend Finder Product Description Caden Conner Old Dominion University CS411W Professor James Brunelle 11 December 2019 Lab 1 Version 2

Upload: others

Post on 08-May-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Running head: LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 1

Lab 1 - University Friend Finder Product Description

Caden Conner

Old Dominion University

CS411W

Professor James Brunelle

11 December 2019

Lab 1 Version 2

LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 2

Table of Contents1. Introduction 4

2. University Friend Finder Product Description 5

2.1. Key Product Features and Capabilities 6

2.2. Major Components (Hardware/Software) 8

3. Identification of Case Study 12

3.1 Students 12

3.2 Student Organizations 13

3.3 University Administrators 14

3.4 Potential Other Use 15

4. University Friend Finder Prototype Description 16

4.1. Prototype Architecture (Hardware/Software) 16

4.2. Prototype Features and Capabilities 16

4.3. Prototype Development Challenges 16

5. Glossary 16

6. References 17

Tables and Figures

Figure 1 - Simplified Timeline Process Flow 5

Figure 2 - Simplified Solution Flow 7

LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 3

Figure 3 - MFCD 9

Figure 4 - Software Architecture Overview 11

Table 1 - Competition Matrix 6

LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 4

1. Introduction

A study conducted by the American College Health Association in 2017 surveyed over

28,000 college students across 51 campuses and found that over 60% of them had reported

feeling “very lonely” in the past 12 months (Campus Loneliness Fact Sheet, 2019). These

experiences of loneliness may be mitigated if students have meaningful friendships with their

peers. This may not seem like a big deal to some as we all may get lonely sometimes, but these

feelings of loneliness can transcend into more dangerous territories. Two of the territories that

students can find their mental health state in are anxiety and depression which can also

negatively affect academic performance. This is the last thing a university wants from their

students, to be in a negative mental state, as it can lead to their physical health being harmed or

potentially dropping out of school.

This is where University Friend Finder (UFF) comes into play in an attempt to help

reduce the negative mental impact students experience from lack of friendships. UFF will

hopefully make it easier for the student body to develop meaningful friendships by providing an

alternative method to meeting others. Students will be able to find others at their university who

share interests and even classes they may have together through profile matching. This should

save them much more time as they are not limited by face-to-face interactions while adding a

convenience factor as they can use the app whenever they choose.

Old Dominion University (ODU) has a significant amount of distance learning and

synchronous type students who may have not even stepped foot on campus. These types of

students will greatly benefit from this application as they will be provided a new and much better

method for identifying potential friendships by seeing who they share interests with. This

application is not limited to ODU, any university can see benefits to using it, even if they do not

LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 5

have a large distance learning population. Being locked to university students with edu emails

provides a sense of security to users knowing they will be meeting with fellow students and not

complete strangers.

2. University Friend Finder Product Description

The purpose of UFF is to provide a mobile application that will help make it easier for

university students to connect and build friendships with their fellow peers. These friendships

should be easier to develop as they will be able to discover other students who share interests

and/or even classes. With the development of UFF, students will be offered an alternative

method to more traditional ones such as face-to-face interactions or nontraditional such as social

media, as shown in figure 1. This proves useful as face-to-face interactions can be very time

consuming and in the end not even work out. While social media is much more difficult to make

friends strictly from the university environment as there’s no dedicated place for it.

Figure 1. Simplified timeline version of the current process flow.

https://www.cs.odu.edu/~410copper/presentations/

Users will first need to create a profile and depending on their selection type will also

need to use an authentication method to verify they are part of the university. When a user

completes this verification they will be able to fill out their profile containing their interests,

classes, and preferences. An algorithm will be used that takes this input of characteristics from a

user profile and calculates a percentage based on how many of these characteristics match up. If

LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 6

this match percentage is adequate than the main user will be shown another user then decide if

they would like to match. If they both mutually match, then they will be able to chat in-app and

take it from there. This algorithm may also be tweaked so it has the capability of showing a

student organizations that universities offer that they may be interested in. What benefits and

what makes this UFF unique can be viewed below in the competition matrix in table 1.

Table 1. Competition matrix containing UFF’s features alongside their direct and indirect

competitors. https://www.cs.odu.edu/~410copper/presentations/

2.1. Key Product Features and Capabilities

As you can see from table 1, UFF is unique in the sense that it is locked to only

university students. This provides a sense of security and a blanket to the users as they know the

person they are talking to is a fellow student. Differentiating itself from other applications is the

ability to not just match on common interests but actually the classes the student is taking.

Students can also harness this ability of interest matching to search for student organizations that

LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 7

pertain to that interest. This in turn enables student organizations to utilize this application to

promote their organization and activities they host.

2.1.1 Help University Students Make Friends

The biggest goal of this application is for it to help students harness friendships through

their university environment with fellow students. These students will be able to input their

interests and classes into their profile. They will also have preferences pertaining to the age as

well as gender of the potential friends they would like to make. When these factors are all taken

into place then it should show the user other students who UFF would view as good candidates

for potential friends. This method should be able to cut down a lot of the time typically used by a

person trying to make friends. Below in figure 3, you can see some common reasons a student

may find the application useful compared to alternative methods.

Figure 2. Solution part showcasing reasons student may use UFF and general solution flow of

the solution process flow. https://www.cs.odu.edu/~410copper/presentations/

LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 8

2.1.2 Match Students With Relevant Organizations

A feature besides profile matching with other students making it capable for students to

also match with student organizations. When a student creates a profile they will have inputted

their interests into it. Besides the algorithm matching them with students, it can also be tweaked

to include those interests or variations of it to compare against student organization names. As an

example, a student that has bike riding as one of their interests can look at the student

organization tab and be recommended a cycling club.

2.1.3 Provide a Safe Environment for Communication

Users should have a sense of security with communicating through UFF as each account

is tied to another student’s school email address. A student can take comfort in the fact that the

person they are communicating with is actually attending the university and is more likely to be

who they say they are. This precaution should help lessen if not remove the amount of people

who think they can freely hide behind anonymous profiles and say inappropriate things to other

users. Compared to other applications that may utilize an email or facebook, but both of those

can have fake profiles created and masquerade as someone they are not.

2.2. Major Components (Hardware/Software)

Hardware requirements for a student and student organization will be a smartphone

running iOS or Android operating system. On the administration side they will need a client that

either has a Windows or Mac operating system. Both of these, smartphone and client, need to be

able to connect to the internet to make use of UFF. Smartphones will need this to use as a mobile

application while on the client-side will need to be able to access a webpage.

LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 9

On the software requirements side UFF will be utilizing Python, React, Django,

GraphQL, Docker, Postgres and Redis. In the backend development Python will be used for

programming tasks. Students and student organizations will make use of a mobile application for

both iOS and Android that is created through React framework. Django will be used for business

logic and to generate web pages to allow administrators to perform tasks related to reports.

GraphQL related to writing queries that will interact with various APIs. Postgres for the database

to hold all of this information and Redis as a cache for simplifying interactions with the database.

Finally, Docker is used to assemble and organize everything in containers to allow for easier

deployment and development.

Figure 3. Major function components. This diagram illustrates how the components will

interact with one another. https://www.cs.odu.edu/~410copper/presentations/

LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 10

2.2.1 Hardware

Hardware specifics are not too difficult and are easily identifiable. Smartphones will be

needed by students and student organizations. Administrators will need a client that can view a

webpage. Workstations on the backend for developers to use throughout the process. Production

infrastructure needs are going to be solved through the use of Heroku hosted dynos.

2.2.1.1 Android or iOS Smartphone

Smartphones containing operating systems of Android or iOS for hardware usage.

2.2.1.2 Backend Hardware

The hardware needed in the backend for servers that will host the databases and other utilities

needed.

2.2.2 Software

LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 11

Figure 4. Overview of the software architecture used for UFF. https://www.cs.odu.edu/~410copper/presentations/

2.2.2.1 React Native

React is a Javascript library that is useful for building user interfaces. Front end development

will be based around using React for development of the user interface for Android and iOS.

2.2.2.2 Django

Django is an open-source framework that uses the Python language. It contains many libraries

that will provide extreme usefulness in the development of UFF. The framework will handle pre-

existing needs such as email authentication and password resets, to name a couple.

LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 12

2.2.2.3 GraphQL

GraphQL is an open-source data query tool for interacting with APIs. Harnessing the use of this

software will make it much easier and faster by reducing the amount of data that is returned from

a query.

2.2.2.4 PostgreSQL

All data and information will be stored in our database using PostgreSQL. This pertains to user

profiles, conversations, webpages, etc. It is a relational database management system that is free

and open-source.

2.2.2.5 Python Data Science Libraries

Data science libraries available to Python will be used to capture metrics. These metrics can be

utilized for seeing which aspects are being used and improvement of UFF.

3. Identification of Case Study

The case study that will initially be used will be through ODU. ODU will provide a great

test case as there is a large diversity of students from type of students (traditional, transfers,

distance learners), their age, race, etc. When a base level prototype is developed we will work

with ODU to develop a test run for reactions and feedback.

3.1 Students

3.1.1 Why Students Need This Product

Students need this product as developing friendships in the university environment can be

difficult. This can be especially true for non-traditional students such as distant learners, transfer,

LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 13

or students who take night classes. It was actually found that students who suffered from a high

degree of loneliness received an average of two letter grades below their peers (Rosenstreich, E.,

& Margalit, M., 2015).

3.1.2 How Students Will Use This Product

The use of this product by students will be used similar to other mobile applications for

their purposes. They will need to download UFF through the iOS app store or google store. Then

they will go through the process of profile creation, which will include authentication. Their

profile will contain their interests, classes, and preferences for what they are looking for in a

friend. Students will use UFF if they are looking to develop friendships or seeking for student

organizations that pertain to their interests.

3.1.3 The Outcome of Students Using This Product

Hopefully the outcome of students using UFF will be them developing meaningful

friendships and becoming more active in the university environment through student

organizations. Students will see a net positive of mental health status and engagement through

the use of UFF. In addition students may see an increase in their academic performance through

the use of friendships in specific classes.

3.2 Student Organizations

3.2.1 Why Student Organizations Need This Product

UFF can be incredibly useful as a tool for student organizations to use in expanding their

membership and student engagement with hosted events. Relating to ODU the process for

finding student organizations can be difficult. When that information is finally found there’s a

LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 14

chance it may be completely out-of-date or have no relevant information at all. UFF provides a

new way to reach students and disperse up-to-date information directly to students.

3.2.2 Why Student Organizations Will Use This Product

Student organizations who are serious about expanding their membership and having

more student engagement will definitely want to use this product. It’ll be able to streamline

information directly to students interested as well as to those whom already joined the

organization.

3.2.3 The Outcome of Student Organizations Using This Product

Student organizations should see an increase in student membership along with peer engagement

as they are able to interact with current and potential members.

3.3 University Administrators

3.3.1 Why University Administrators Need This Product

The university administrators can use UFF to monitor how students are interacting with

one another. They can also use it to capture metrics of students to use for their goal of increasing

student engagement and retention. These metrics can contain data about which students reacted

positively or negatively to and what common interests students have.

3.3.2 How University Administrators Will Use This Product

University administrators will use UFF through a client that can connect and view

webpages. These webpages will mainly be used to view reports that have come from users about

other student profiles, conversations, or student organizations. The reports will be handled by the

LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 15

administrators and the infractions they hand out. This will help keep UFF in a proper and safe

environment for the students to feel comfortable.

3.3.3 The Outcome of University Administrators Using This Product

The outcome of university administrators using this product will be managing the report

system to keep UFF safe from users who are bringing negativity to other’s experiences. Also

they will be able to utilize metrics collected from UFF for use to further student engagement and

retention.

3.4 Potential Other Users

3.4.1 High Schools

High school students may find an option in the future to use UFF for finding potential

friendships with students at universities they may be interested in attending. Making friendships

at a university before even have decided to go, may sway their opinion on which university they

want to attend. It also can give high school students an insight into the university community and

how much it may benefit them.

3.4.2 Large Organizations

There is a possibility that UFF could branch out to larger organizations, but it could not

be “University” Friend Finder any longer. It would need to be tailored to fit the needs of these

organizations. New features and capabilities are going to have to be thought of that moves

towards a general company overview instead of a university. This could be done, but that would

be an idea for the incredibly distant future.

LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 16

4. University Friend Finder Prototype Description

4.1. Prototype Architecture (Hardware/Software)

4.1.1 Hardware

4.1.2 Software

4.2. Prototype Features and Capabilities

4.3. Prototype Development Challenges

4.3.1 Customer Risks

4.3.2 Technical Risks

5. Glossary

● Application programming interface (API): programming interface between the backend

business logic

● Django: High level Python Web Framework. Handles user authentication and permission,

database object models via object-relational mapper (ORM). The admin interface will be

built using Django’s form templates.

● Docker: Lightweight virtual machine platform that allows ‘containerization’ of

applications from development and deployment

● Gitlab: Git repository with integrated continuous integration deployment pipelines

● GraphQL: A declarative and typed query language for APIs which allows evolutionary

schema design. GraphQL allows clients to customize what data is returned, providing

LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 17

minimal HTTP traffic and payloads.We will use the Graphene Library, which has been

integrated with Django, to define our schema using Python.

● Google Cloud Vision (GCV): A machine learning API that is able to inspect inputted

images for violent, adult, spoof, medical, or racy content.

● Machine Learning: Method of data analysis that automates analytical model building.

● PostgreSQL:Backend database preferred for use with Django, which will abstract most of

the query and data modeling for us.

● React Native: A framework for building native apps (for Android and IOS) using React

JS library. Our apps will be lightweight, focused on presentation and caching. Business

logic will be contained within backend application code, with data transmitted via

GraphQL API.

● Student: A person who attends a university/college.

● Student Organization: A group of students in a university/college who share one or

multiple common interests.

● University Administrator: Special user who posses special privileges, such as warning or

banning users, for account management.

● University Friend Finder (UFF): A mobile application that is designed to help students

match with other students within their community to make friendships.

6. References

A successful Git branching model. (n.d.). Retrieved from https://nvie.com/posts/a-

successful-git-branching-model/.

Shape Up v 1.6, 2019 edition. (n.d.). Retrieved from https://basecamp.com/shapeup.

LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 18

Campus Loneliness Fact Sheet. (2019, June 10). Retrieved December 7, 2019, from

https://artandhealing.org/campus-loneliness-fact-sheet/.

Rosenstreich, E., & Margalit, M. (2015). Loneliness, Mindfulness, and Academic

Achievements: A Moderation Effect among First-Year College Students . Retrieved

December 8, 2019, from

https://www.researchgate.net/publication/279273646_Loneliness_Mindfulness_and_Aca

demic_Achievements_A_Moderation_Effect_among_First-Year_College_Students.