20
Running Head: Lab 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 1 University Friend Finder Product Description Jay Speidell Old Dominion University CS410W Professor J. Brunelle December 11th, 2019 Lab 1 - Individual Version 2

Running Head: Lab 1 - UNIVERSITY FRIEND FINDER PRODUCT ...410copper/labs/docx/Lab1... · 3.1.1 Why Students Need University Friend Finder 14 ... By providing a new way for students

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Running Head: Lab 1 - UNIVERSITY FRIEND FINDER PRODUCT ...410copper/labs/docx/Lab1... · 3.1.1 Why Students Need University Friend Finder 14 ... By providing a new way for students

Running Head: Lab 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 1

University Friend Finder Product Description

Jay Speidell

Old Dominion University

CS410W

Professor J. Brunelle

December 11th, 2019

Lab 1 - Individual Version 2

Page 2: Running Head: Lab 1 - UNIVERSITY FRIEND FINDER PRODUCT ...410copper/labs/docx/Lab1... · 3.1.1 Why Students Need University Friend Finder 14 ... By providing a new way for students

LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 2

Table of Contents

1. Introduction 5

2. University Friend Finder Product Description 7 2.1. Key Product Features and Capabilities 8 2.1.1 Help University Students Make Friends 8 2.1.2 Match Students With Relevant Organizations 9 2.1.3 Provide a Safe Environment for Communication 9 2.2. Major Components (Hardware/Software) 10 2.2.1 Hardware 11 2.2.1.1 Android or iOS Smartphone 11 2.2.1.2 Back-end Hardware 11 2.2.2 Software 11 2.2.2.1 React Native 11 2.2.2.2 Django 12 2.2.2.3 GraphQL 12 2.2.2.4 PostgreSQL 12 2.2.2.5 Python Data Science Libraries 12

Page 3: Running Head: Lab 1 - UNIVERSITY FRIEND FINDER PRODUCT ...410copper/labs/docx/Lab1... · 3.1.1 Why Students Need University Friend Finder 14 ... By providing a new way for students

LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 3

3. Identification of Case Study 13 3.1 Students 14 3.1.1 Why Students Need University Friend Finder 14 3.1.2 How Students Will Use University Friend Finder 14 3.1.3 The Outcome of Students Using University Friend Finder 15 3.2 Student Organizations 15 3.2.1 Why Student Organizations Need University Friend Finder 15 3.2.2 How Student Organizations Will Use University Friend Finder 15 3.2.3 The Outcome of Student Organizations Using University Friend Finder 16 3.3 University Administrators 16 3.3.1 Why University Administrators Need University Friend Finder 16 3.3.2 How University Administrators Will Use University Friend Finder 16 3.3.3 The Outcome of University Administrators Using University Friend Finder 17 3.4 Potential Other Users 17 3.4.1 High Schools 17 3.4.2 Large Organizations 17

4. University Friend Finder Prototype Description 18 4.1. Prototype Architecture (Hardware/Software) 18

Page 4: Running Head: Lab 1 - UNIVERSITY FRIEND FINDER PRODUCT ...410copper/labs/docx/Lab1... · 3.1.1 Why Students Need University Friend Finder 14 ... By providing a new way for students

LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 4

4.1.1 Hardware 18 4.1.2 Software 18 4.2. Prototype Features and Capabilities 18 4.3. Prototype Development Challenges 18 4.3.1 Customer Risks 18 4.3.2 Technical Risks 18

5. Glossary 18

6. References 19

Tables and Figures

Figure 1: Current Process Flow 6

Figure 2: Current Process Flow 7

Figure 3: Major Functional Components Diagram 10

Figure 4: User Roles 13

Page 5: Running Head: Lab 1 - UNIVERSITY FRIEND FINDER PRODUCT ...410copper/labs/docx/Lab1... · 3.1.1 Why Students Need University Friend Finder 14 ... By providing a new way for students

LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 5

1. Introduction

Making friends in college is critical to both mental and physical health as well as

academic success, but the college environment presents significant challenges to making friends

for many students. The problem is widespread, to the point where a survey of fifty-one college

campuses resulted in 60% of students reporting feeling “very lonely” in the previous year

(Hoban, 2017). This loneliness leads to depression and anxiety, and the same survey reported

that an alarming 12% of students reported having considering suicide in the past year. There is

also a scientific consensus that having friends has a major impact on physical wellbeing, with

people reporting strong social relationships a third less likely to die in a given time period than

the average person (Rettner, 2010). These effects of loneliness have been shown to have a

measurable impact on academic performance, with one study reporting students with a high

degree of loneliness scoring two full letter grades below their peers (Rosenstreich, 2015). This

problem also impacts another key stakeholder, college administrators. Student engagement and

retention are key performance indicators for an academic program, and loneliness and its effects

lead to lower engagement and retention rates. The cumulative impact of loneliness among

college students presents a real problem for both students and college administrators.

Both students and the universities they attend have a need for a solution to this problem, a

solution that assists students in the process of making friends and bypasses barriers that they may

face. Colleges provide many opportunities for students to meet, from freshman orientation to

physical classrooms where students run into each other. But many students, especially

non-traditional students such as transfer students, distance learning students, and introverts,

either miss these opportunities or struggle to take advantage of them. The bottleneck of these

Page 6: Running Head: Lab 1 - UNIVERSITY FRIEND FINDER PRODUCT ...410copper/labs/docx/Lab1... · 3.1.1 Why Students Need University Friend Finder 14 ... By providing a new way for students

LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 6

face-to-face interactions can be seen in the Current Process Flow diagram in Figure 1. The

solution must be universally accessible and designed to help students establish conversations

with people who they are likely to form friendships with. It should do this by matching students

with peers who have common interests and facilitate conversations between them.

Figure 1: Current Process Flow

University Friend Finder is designed as that solution. It is a smartphone application

available to any student at a given school that allows students to create a profile and then

matches students with each other based on common interests, allowing them to message each

other after a match has been mutually established. As seen in the Solution Process Flow in

Figure 2, this provides another option to establish initial connections and begin the process of

making a friend. By providing a new way for students to meet each other, University Friend

Page 7: Running Head: Lab 1 - UNIVERSITY FRIEND FINDER PRODUCT ...410copper/labs/docx/Lab1... · 3.1.1 Why Students Need University Friend Finder 14 ... By providing a new way for students

LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 7

Finder gives students more opportunities to make friends, combat loneliness, and succeed both

personally and academically and helps administrators boost student engagement.

Figure 2: Solution Process Flow

2. University Friend Finder Product Description

University Friend Finder (UFF) is a mobile application designed to help students make

friends at their school who will help them grow both personally and academically. The system

will require a valid school email address for registration. After registration, UFF will give

students the opportunity to fill out a profile, including attributes about themselves, a personal

description, and a selection of their interests from a list of possible interests. The primary

functionality of this application is the matching system. Within a matching interface, students

will be shown profiles of their peers containing their interests and personal description. Students

will be able to either accept or reject these matches. Upon mutual acceptance, matched students

will each receive a notification for the match and presented with an opportunity to chat. From

here, students have the opportunity to talk and get to know each other. Real-world contact

Page 8: Running Head: Lab 1 - UNIVERSITY FRIEND FINDER PRODUCT ...410copper/labs/docx/Lab1... · 3.1.1 Why Students Need University Friend Finder 14 ... By providing a new way for students

LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 8

information is shared at their discretion, and they retain the ability to revoke the match

acceptance at any time and end the conversation. The goal of this process is to provide students

with new opportunities to begin friendships.

The application will also allow students involved in student organizations to create

profiles for their organizations. They will select interests related to their organizations, and

students will be able to see recommended organizations based on their own interests and connect

with them. Student organization users will be able to send notifications to connected students

regarding events and other information. By encouraging engagement in campus organizations

and activities, the goal of University Friend Finder is to help students find more opportunities to

meet potential friends.

The business logic and matching algorithm will be provided by a server back-end, which

will also provide a web-based administrator interface for reviewing user reports and taking

action against users who break the rules.

2.1. Key Product Features and Capabilities

2.1.1 Help University Students Make Friends

The major differentiating feature of University Friend Finder is that it helps college

students specifically make friends. Unlike competing applications, which match friends within

the general population, UFF is a solution specifically tailored to students in an academic

environment going through the shared experience of attending college. Interests that students can

select for their profiles will not only include things like hobbies and extracurricular activities, but

also academic major, courses, career goals, and more.

Page 9: Running Head: Lab 1 - UNIVERSITY FRIEND FINDER PRODUCT ...410copper/labs/docx/Lab1... · 3.1.1 Why Students Need University Friend Finder 14 ... By providing a new way for students

LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 9

The matching algorithm with use a model that uses these interests to predict the

likelihood of users being good candidates for a friendship, and will recommend a user the

profiles of their peers above a certain threshold in order of the best match. These matches will be

calculated on the server side while the mobile application simply displays the user interface.

Once two students mutually accept a match, they will both receive notifications and a

private, encrypted message thread will be established. These students will then be able to have

private conversations where they can get to know each other.

2.1.2 Match Students With Relevant Organizations

Student organizations provide a great opportunity for students to engage with the

community at their school and meet people, but it is often difficult for students to gain an

awareness of relevant organizations. To solve this, University Friend Finder will allow student

organizations to create profiles with a set of interests, and these profiles will be recommended to

students with matching interests. Student organizations will be able to share information and

events with students who connect.

2.1.3 Provide a Safe Environment for Communication

Security is a high priority for University Friend Finder, and the application will provide

users with a way to report inappropriate messages and content. Moderators will review these

reports and have the option of warning or banning students from the platform, as well as

downloading the data to share with police and campus security.

Page 10: Running Head: Lab 1 - UNIVERSITY FRIEND FINDER PRODUCT ...410copper/labs/docx/Lab1... · 3.1.1 Why Students Need University Friend Finder 14 ... By providing a new way for students

LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 10

2.2. Major Components (Hardware/Software)

The structure of University Friend Finder is illustrated in the Major Functional

Components Diagram seen in Figure 1. The application consists of a front-end mobile

application and a back-end server running the business logic, hosting the database, and providing

an API. A student will open the application on their phone, and which will draw the GUI based

on information obtained from the back-end API. The server will perform the business logic, run

the matching algorithm, and maintain a database.

Figure 3: Major Functional Components Diagram

Page 11: Running Head: Lab 1 - UNIVERSITY FRIEND FINDER PRODUCT ...410copper/labs/docx/Lab1... · 3.1.1 Why Students Need University Friend Finder 14 ... By providing a new way for students

LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 11

2.2.1 Hardware

2.2.1.1 Android or iOS Smartphone

University Friend Finder’s mobile application will run on any Android or iOS device

running supported versions of their respective operating systems with access to the internet. The

software will be developed with the React Native framework, which allows developers to

develop the application one time using a Javascript-based language and deploy it on both

Android and iOS. The smartphone application will only draw the GUI and make API calls while

the server performs the business logic and provides data.

2.2.1.2 Back-end Hardware

The back-end will be a Linux environment hosting Docker containers to standardize the

development and deployment environments. The development and prototyping will take place on

ODU Computer Science Department servers, and developers will also perform work on their

personal machines. In production, scaling will be facilitated by scalable cloud resources such as

Amazon Web Services or Google Compute Engine as well as Docker Swarm.

2.2.2 Software

The following software will be used to support University Friend Finder.

2.2.2.1 React Native

React Native is an innovative “write once, deploy everywhere” framework that allows

flexible mobile development and rapid prototyping. It will allow one mobile development team

Page 12: Running Head: Lab 1 - UNIVERSITY FRIEND FINDER PRODUCT ...410copper/labs/docx/Lab1... · 3.1.1 Why Students Need University Friend Finder 14 ... By providing a new way for students

LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 12

working in one language, a version of Javascript, to develop native applications for both iOS and

Android with a single codebase to maintain. The performance and appearance are very similar to

native apps written using platform specific languages and SDKs.

2.2.2.2 Django

We will use Django as our server-side application framework. It will provide the API for

the front-end, perform business logic, manage the database, and call machine learning models. It

is a widely used Python web application framework using Python that offers flexibility,

efficiency, and reliability, as well as the abstraction of many basic functions of University Friend

Finder including account registration and user authentication.

2.2.2.3 GraphQL

GraphQL is a query language that University Friend Finder will use to abstract the

database API. This will allow the UFF development team to write more efficient, readable code

that only queries the necessary data. It integrates effectvily into Django.

2.2.2.4 PostgreSQL

We’ve selected PostgreSQL for our database because it is an object-relational database

that effectively integrates into Django and GraphQL. The object oriented model better supports

our data models and will allow for more efficient queries.

2.2.2.5 Python Data Science Libraries

The matching algorithm will use machine learning models, which will need to be backed

by efficient linear algebra and machine learning libraries. During model development, we will

Page 13: Running Head: Lab 1 - UNIVERSITY FRIEND FINDER PRODUCT ...410copper/labs/docx/Lab1... · 3.1.1 Why Students Need University Friend Finder 14 ... By providing a new way for students

LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 13

use multiple libraries including Numpy, Scikit-Learn, and Tensorflow, testing their functionality

and performance against the requirements of the friend matching algorithm, and making an

informed selection based on the results. These Python libraries are written in low-level languages

such as C and Fortran, offering both high performance and easy integration into Django.

3. Identification of Case Study

University Friend Finder is being developed for college students, student organizations,

and university administrators, but there are also potential opportunities for expansion into other

user groups. These user roles are illustrated in Figure 4.

Figure 4: User Roles

Page 14: Running Head: Lab 1 - UNIVERSITY FRIEND FINDER PRODUCT ...410copper/labs/docx/Lab1... · 3.1.1 Why Students Need University Friend Finder 14 ... By providing a new way for students

LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 14

3.1 Students

3.1.1 Why Students Need University Friend Finder

As laid out in sections 1 and 2, loneliness among students on college campuses is a major

issue. This drives the need for University Friend Finder, which will make it easier for them to

meet their peers and form friendships.

3.1.2 How Students Will Use University Friend Finder

A student using University Friend Finder will start their journey by creating a profile.

This profile will attempt to capture who they are and what they are looking for in a friendship.

They will select their interests, their goals, and their preferences. This could be their hobbies,

career aspirations, and whether they want to make friends of the same gender, age group, and

general location or meet people from the student body as a whole.

University Friend Finder will use the data in these profiles to match students with their

peers attending the same school based on the likelihood of a good friendship forming between

them. When a match happens, each student will be able to review the other’s profile and accept

the match before communication begins. Initial conversations happen in-app, and only after users

have mutually accepted a match. Real-world contact information is only shared at the discretion

of users. At any point students can choose to un-match and end the interaction.

University Friend Finder will also give students further opportunities to meet other

students by connecting them with student organizations and giving them opportunities to engage

and find events to attend.

Page 15: Running Head: Lab 1 - UNIVERSITY FRIEND FINDER PRODUCT ...410copper/labs/docx/Lab1... · 3.1.1 Why Students Need University Friend Finder 14 ... By providing a new way for students

LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 15

3.1.3 The Outcome of Students Using University Friend Finder

Students using this product will find more opportunities for meeting friends, both through

profile matches with their peers as well as engagement with student organizations. Increasing the

volume of connections will also increase the likelihood of students meeting people with whom

they’ll form friendships with. Because loneliness is linked to lower test scores and poorer mental

health, better academic performance and mental health are potential outcomes of students using

University Friend Finder.

3.2 Student Organizations

3.2.1 Why Student Organizations Need University Friend Finder

Student organizations struggle to recruit new students for the same reason it’s hard for

students to meet new friends. They simply don’t collide with students often. To solve this,

student organizations need as much visibility as possible in the places and platforms that students

are using and they need to be seen by the students most likely to be interested.

3.2.2 How Student Organizations Will Use University Friend Finder

Student organizations will be represented by students who have a University Friend

Finder account. Students will, at the approval of administrators, register student organization

profiles and fill them out with details including interests. These interests will make it easy for

students to find relevant organizations, much like they help students make better matches with

their peers. Students will be able to connect with organizations, and student organizations will be

Page 16: Running Head: Lab 1 - UNIVERSITY FRIEND FINDER PRODUCT ...410copper/labs/docx/Lab1... · 3.1.1 Why Students Need University Friend Finder 14 ... By providing a new way for students

LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 16

able to share updates, events, and more with students. These may be delivered via push

notification with student consent.

3.2.3 The Outcome of Student Organizations Using University Friend Finder

The outcome of student organizations using University Friend Finder is higher student

engagement and membership growth.

3.3 University Administrators

3.3.1 Why University Administrators Need University Friend Finder

University administrators are under constant pressure to increase student engagement.

Student engagement leads to better academic performance and retention, and overall a healthier

student body. A platform that presents an opportunity to organically boost student engagement

could deliver a major win for a university.

3.3.2 How University Administrators Will Use University Friend Finder

University administrators can sponsor University Friend Finder to bring it to their campus

and student body. Their role up-front will be to work with the UFF development team to add

logos and branding, as well as to set a content moderation and reporting policy appropriate to

that organization. Once deployed, university administrators will promote University Friend

Finder and provide moderation via an administrative dashboard.

Page 17: Running Head: Lab 1 - UNIVERSITY FRIEND FINDER PRODUCT ...410copper/labs/docx/Lab1... · 3.1.1 Why Students Need University Friend Finder 14 ... By providing a new way for students

LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 17

3.3.3 The Outcome of University Administrators Using University Friend Finder

The ideal outcome for university administrators is that the application is accepted by the

student body and sees widespread use, resulting in more students forming friendships, improving

their mental health, and engaging with their peers, student organizations, and academics at a

higher level.

3.4 Potential Other Users

3.4.1 High Schools

High schools don’t have the same issues that colleges do with students not attending

classes or not having free time, but many other barriers to students forming friendships are still

present. This might present an opportunity for the University Friend Finder team to research this

new vertical and develop an alternate version of the app geared towards high school students.

3.4.2 Large Organizations

Zappos measures the success of their workplace in the number of collisions between

employees outside fo their working teams, and it’s a popular metric in workplace design to boost

innovation. But with more remote workers and bigger and bigger buildings, it becomes difficult

to make these collisions happen on a regular basis. If University Friend Finder were adapted for

a corporate environment, it could have a major impact on employee engagement and innovation.

Page 18: Running Head: Lab 1 - UNIVERSITY FRIEND FINDER PRODUCT ...410copper/labs/docx/Lab1... · 3.1.1 Why Students Need University Friend Finder 14 ... By providing a new way for students

LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 18

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 back-end

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

Page 19: Running Head: Lab 1 - UNIVERSITY FRIEND FINDER PRODUCT ...410copper/labs/docx/Lab1... · 3.1.1 Why Students Need University Friend Finder 14 ... By providing a new way for students

LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 19

● 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

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.

● GUI: Graphical User Interface

● PostgreSQL:back-end 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 back-end application code, with data transmitted via

GraphQL API.

● UFF: An abbreviation for University Friend Finder

6. References

A successful Git branching model. (n.d.). Retrieved from

https://nvie.com/posts/a-successful-git-branching-model/.

Hoban, M., & Leino, E. V. (2017). National College Health Assessment Fall 2017 . American

College Health Association. Retrieved from

Page 20: Running Head: Lab 1 - UNIVERSITY FRIEND FINDER PRODUCT ...410copper/labs/docx/Lab1... · 3.1.1 Why Students Need University Friend Finder 14 ... By providing a new way for students

LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 20

https://www.acha.org/documents/ncha/NCHA-II_FALL_2017_REFERENCE_GROUP_

EXECUTIVE_SUMMARY.pdf

Rettner, R. (2010, July 27). Want to Live Longer? Get Some Friends. Retrieved from

https://www.livescience.com/6769-live-longer-friends.html.

Rosenstreich, Eyal & Margalit, Malka. (2015). Loneliness, Mindfulness, and Academic

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

Psychology Journal. 8. 138-145. 10.2174/1874350101508010138.

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