Transcript
Page 1: University Friend Finder Product Description Jay …410copper/labs/docx/Lab1_v1...By providing a new way for students to meet each other, University Friend University Friend Finder

University Friend Finder Product Description 1

University Friend Finder Product Description

Jay Speidell

Team Copper

Old Dominion University

CS410W

Professor J. Brunelle

December 8th, 2019

Lab 1 - Individual Version 1

Page 2: University Friend Finder Product Description Jay …410copper/labs/docx/Lab1_v1...By providing a new way for students to meet each other, University Friend University Friend Finder

University Friend Finder Product Description 2

1. Introduction 4

2. University Friend Finder Product Description 6 2.1. Key Product Features and Capabilities 7

2.1.1 Help University Students Make Friends 7 2.1.2 Match Students With Relevant Organizations 8 2.1.3 Provide a Safe Environment for Communication 8

2.2. Major Components (Hardware/Software) 8 2.2.1 Hardware 9

2.2.1.1 Android or iOS Smartphone 9 2.2.1.2 Back-end Hardware 10

2.2.2 Software 10 2.2.2.1 React Native 10 2.2.2.2 Django 10 2.2.2.3 GraphQL 11 2.2.2.4 PostgreSQL 11 2.2.2.5 Python Data Science Libraries 11

3. Identification of Case Study 11 3.1 Students 12

3.1.1 Why Students Need University Friend Finder 12 3.1.2 How Students Will Use University Friend Finder 12 3.1.3 The Outcome of Students Using University Friend Finder 13

3.2 Student Organizations 13 3.2.1 Why Student Organizations Need University Friend Finder 13 3.2.2 How Student Organizations Will Use University Friend Finder 14 3.2.3 The Outcome of Student Organizations Using University Friend Finder 14

3.3 University Administrators 14 3.3.1 Why University Administrators Need University Friend Finder 14 3.3.2 How University Administrators Will Use University Friend Finder 15 3.3.3 The Outcome of University Administrators Using University Friend Finder 15

3.4 Potential Other Users 15 3.4.1 High Schools 15 3.4.2 Large Organizations 16

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

Page 3: University Friend Finder Product Description Jay …410copper/labs/docx/Lab1_v1...By providing a new way for students to meet each other, University Friend University Friend Finder

University Friend Finder Product Description 3

4.2. Prototype Features and Capabilities 16 4.3. Prototype Development Challenges 17

5. Glossary 17

6. References 18

Page 4: University Friend Finder Product Description Jay …410copper/labs/docx/Lab1_v1...By providing a new way for students to meet each other, University Friend University Friend Finder

University Friend Finder Product Description 4

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,

Page 5: University Friend Finder Product Description Jay …410copper/labs/docx/Lab1_v1...By providing a new way for students to meet each other, University Friend University Friend Finder

University Friend Finder Product Description 5

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

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 6: University Friend Finder Product Description Jay …410copper/labs/docx/Lab1_v1...By providing a new way for students to meet each other, University Friend University Friend Finder

University Friend Finder Product Description 6

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 7: University Friend Finder Product Description Jay …410copper/labs/docx/Lab1_v1...By providing a new way for students to meet each other, University Friend University Friend Finder

University Friend Finder Product Description 7

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 8: University Friend Finder Product Description Jay …410copper/labs/docx/Lab1_v1...By providing a new way for students to meet each other, University Friend University Friend Finder

University Friend Finder Product Description 8

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

2.1.3 Provide a Safe Environment for Communication

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.

Page 9: University Friend Finder Product Description Jay …410copper/labs/docx/Lab1_v1...By providing a new way for students to meet each other, University Friend University Friend Finder

University Friend Finder Product Description 9

Figure 3: Major Functional Components Diagram

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.

Page 10: University Friend Finder Product Description Jay …410copper/labs/docx/Lab1_v1...By providing a new way for students to meet each other, University Friend University Friend Finder

University Friend Finder Product Description 10

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

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.

Page 11: University Friend Finder Product Description Jay …410copper/labs/docx/Lab1_v1...By providing a new way for students to meet each other, University Friend University Friend Finder

University Friend Finder Product Description 11

2.2.2.3 GraphQL

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

databse 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

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.

Page 12: University Friend Finder Product Description Jay …410copper/labs/docx/Lab1_v1...By providing a new way for students to meet each other, University Friend University Friend Finder

University Friend Finder Product Description 12

Figure 4: User Roles

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

Page 13: University Friend Finder Product Description Jay …410copper/labs/docx/Lab1_v1...By providing a new way for students to meet each other, University Friend University Friend Finder

University Friend Finder Product Description 13

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.

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,

Page 14: University Friend Finder Product Description Jay …410copper/labs/docx/Lab1_v1...By providing a new way for students to meet each other, University Friend University Friend Finder

University Friend Finder Product Description 14

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

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.

Page 15: University Friend Finder Product Description Jay …410copper/labs/docx/Lab1_v1...By providing a new way for students to meet each other, University Friend University Friend Finder

University Friend Finder Product Description 15

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.

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.

Page 16: University Friend Finder Product Description Jay …410copper/labs/docx/Lab1_v1...By providing a new way for students to meet each other, University Friend University Friend Finder

University Friend Finder Product Description 16

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.

4. University Friend Finder Prototype Description

Provide a top-level description of the CS 411W prototype as it relates to the end product from

CS 410 (i.e., the goal). Are capabilities reduced or eliminated? Simulated – modeled?> Include a

table of comparison between RWP and Prototype either in section 4, 4.1 or 4.2

4.1. Prototype Architecture (Hardware/Software)

How will the prototype be structured to demonstrate key features of the CS 410 product. Provide

describe the Prototype MFCD.

4.2. Prototype Features and Capabilities

What does the prototype demonstrate? Why is that significant in showing how the problem is

solved? How you have demonstrated success? How does the prototype address the CS 410

project risk mitigation? Describe the functional goals and objectives.

Page 17: University Friend Finder Product Description Jay …410copper/labs/docx/Lab1_v1...By providing a new way for students to meet each other, University Friend University Friend Finder

University Friend Finder Product Description 17

4.3. Prototype Development Challenges

Describe the expected challenges to be encountered while completing the prototype – e.g.,

knowledge missing, capability missing, supporting technology issues.

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

● 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

Page 18: University Friend Finder Product Description Jay …410copper/labs/docx/Lab1_v1...By providing a new way for students to meet each other, University Friend University Friend Finder

University Friend Finder Product Description 18

● 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

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.


Recommended