21
LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 1 Lab 1 - University Friend Finder Product Description Kira DeGraw Old Dominion University CS410 Professor James Brunelle 12 December 2019 Draft

Table of Contents - Old Dominion University410copper/labs/docx/Lab1... · Web viewReact Native is a framework for building native apps (for Android and iOS) using React JS library

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Table of Contents - Old Dominion University410copper/labs/docx/Lab1... · Web viewReact Native is a framework for building native apps (for Android and iOS) using React JS library

LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 1

Lab 1 - University Friend Finder Product Description

Kira DeGraw

Old Dominion University

CS410

Professor James Brunelle

12 December 2019

Draft

Page 2: Table of Contents - Old Dominion University410copper/labs/docx/Lab1... · Web viewReact Native is a framework for building native apps (for Android and iOS) using React JS library

LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 2

Table of Contents

1. Introduction

2. University Friend Finder Product Description

2.1. Key Product Features and Capabilities

2.2. Major Components (Hardware/Software)

3. Identification of Case Study

3.1 Students

3.2 Student Organizations

3.3 University Administrators

3.4 Potential Other Users

4. University Friend Finder Prototype Description

4.1. Prototype Architecture (Hardware/Software)

4.2. Prototype Features and Capabilities

4.3. Prototype Development Challenges

5. Glossary

6. References

Tables and Figures

Figure 1 - Major Functional Component Diagram

Table 1 – Competition Matrix

Page 3: Table of Contents - Old Dominion University410copper/labs/docx/Lab1... · Web viewReact Native is a framework for building native apps (for Android and iOS) using React JS library

LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 3

1. Introduction

In a 2017 survey by the American College Health Association, over sixty percent of

college students said that they had “felt very lonely” in the previous twelve months. (Art and

Healing Foundation, 2017) It has been shown that having meaningful friendships can have

profound impacts on your life. Students with strong peer groups are more likely to develop a

full-sense of identity, persist through graduation, and engage in positive behaviors on college

campuses. (Chickering, 1993) A 2010 research also found that the effect of social ties on life

span is twice as strong as exercising. (Pappas, 2016) The problem is that most friendships form

during face-to-face interactions. People who feel very lonely can become more isolated and

depressed which can negatively impact academic performance as well as their mental and

physical well-being.

The interaction among students tends to evolve around fellow classmates and common

majors, which is not always possible for online or non-traditional college students. Online and

night class students have limited, if any, opportunity to meet and develop friendships. There is

currently not an effective tool that provides students the opportunity to explore friendship

opportunities based on their individual interests within the university community. The solution

must allow college students to easily connect with other students who share their interests, goals,

and preferences.

University Friend Finder is a solution that is built to give students the opportunity to meet

new people within their university community who have common interests and goals. Students

will have the ability to set user preferences regarding possible friends, plan an event through the

app calendar, and enjoy in-app communication with other users.

Page 4: Table of Contents - Old Dominion University410copper/labs/docx/Lab1... · Web viewReact Native is a framework for building native apps (for Android and iOS) using React JS library

LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 4

2. University Friend Finder Product Description

University Friend Finder is a mobile application designed to help students match with

other students and organizations within their university community who will help them grow

both personally and academically. Users will be shown possible friend matches based on their

profile of interests, classes, and preferences. Users will then have the option of choosing who to

connect with from their list of potential matches. The table below shows how University Friend

Finders is unique compared to its direct and indirect competitors.

Table 1 - University Friend Finder competition matrix with direct and indirect competitors.

2.1. Key Product Features and Capabilities

University Friend Finder is tailored to each user and will be able to provide a list of

potential friends by using an algorithm designed to find the likelihood of a good friendship based

on common interests, goals, classes, and preferences. The application will also be able to provide

users with a list of student organizations that share interests with the user. University Friend

Page 5: Table of Contents - Old Dominion University410copper/labs/docx/Lab1... · Web viewReact Native is a framework for building native apps (for Android and iOS) using React JS library

LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 5

Finder provides an easy and effective tool to find meaningful friendships without having to rely

solely on face-to-face interactions in the classroom setting.

2.1.1 Help University Students Make Friends

Friends are an essential part of life, but sometimes it can be hard to develop meaningful

friendships. Some university students not only have classes and homework, but jobs and families

to take care of. Some students never step foot on campus or they are non-traditional students

such as transfers, international students, or military. These are just a few of the reasons why it

can be hard to make friends as a university student. University Friend Finder takes away the hard

part of searching for friends and brings potential matches to you. Users can simply input their

interests and will be shown a list of potential friendships that match the users interests.

2.1.2 Match Students with Relevant Organizations

University Friend Finder aims to show users possible student organizations that may be

of interest to the user. Different student organizations will be shown based on the interests that

the user has chosen and the interests that the student organization has listed. Users can also

search for different organizations.

2.1.3 Provide a Safe Environment for Communication

University Friend Finder provides in-app communication once users have mutually

accepted each other as potential friends. By providing a way to communicate in-app, users also

have the ability to remove a potential friend which will take away communication between those

users. Personal contact information will not be shown on users profiles and users should use the

in-app chat instead of providing their contact information to chat with other users.

Page 6: Table of Contents - Old Dominion University410copper/labs/docx/Lab1... · Web viewReact Native is a framework for building native apps (for Android and iOS) using React JS library

LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 6

2.2. Major Components (Hardware/Software)

In terms of hardware, University Friend Finder only requires a smartphone. Software

includes the interface, webpage, database, algorithms, and Google Cloud Vision. The diagram

below shows the University Friend Finder’s major functional components.

Figure 1 - Major functional component diagram for University Friend Finder.

2.2.1 Hardware

University Friend Finder does not require the user to have much hardware in order to use

our product.

2.2.1.1 Android or iOS Smartphone

Users only need a smartphone to use our app, whether it be an Android or iOS

smartphone.

Page 7: Table of Contents - Old Dominion University410copper/labs/docx/Lab1... · Web viewReact Native is a framework for building native apps (for Android and iOS) using React JS library

LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 7

2.2.1.2 Backend Hardware

We will be deploying our various components via Docker containers in order to

standardize deployment for development, test and production environments, and to facilitate

scaling via Docker swarms.

2.2.2 Software

University Friend Finder will be using software to create the user interfaces for both the

app and web page, databases to store app information, query languages, and Python libraries.

2.2.2.1 React Native

React Native is 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.

2.2.2.2 Django

Django is a high-level Python Web Framework. Django handles user authentication and

permission, as well as database object models via object-relational mapper (ORM). The

administrator interface will be built using Django’s form templates.

2.2.2.3 GraphQL

GraphQL is 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.

Page 8: Table of Contents - Old Dominion University410copper/labs/docx/Lab1... · Web viewReact Native is a framework for building native apps (for Android and iOS) using React JS library

LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 8

2.2.2.4 PostgreSQL

PostgreSQL is a backend database preferred for use with Django, which will abstract

most of the query and data modeling for University Friend Finder.

2.2.2.5 Python Data Science Libraries

We will use various Python data science libraries to allow the data to be modeled and

stored in a convenient way.

3. Identification of Case Study

For whom is this product being developed? Why? Who else might use this in the future?

University Friend Finder is being developed for Old Dominion University’s students of

all ages and majors. Many students have a difficult time finding friends and it can be even harder

for the many non-traditional students who attend ODU. This product could be used in the future

by other universities to help with social integration among students.

3.1 Students

Students will be able to log onto University Friend Finder with a valid student email to

create a profile of interests, hobbies, classes, and preferences. Our app will take away the hard

part by searching through other students and only show the user people who have common

interests.

3.1.1 Why Students Need This Product

University students have busy lives with classes, homework, jobs, and family. Trying to

be social and make new friends isn’t something that all students have time for, but it has been

Page 9: Table of Contents - Old Dominion University410copper/labs/docx/Lab1... · Web viewReact Native is a framework for building native apps (for Android and iOS) using React JS library

LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 9

shown that friends increase your happiness and quality of life. University Friend Finder helps

students find friends without the hassle of searching through classmates to find someone that has

interests in common with you.

3.1.2 How Students Will Use This Product

Students will use University Friend Finder as an easy tool to make new, meaningful

friendships. This app provides a way to make friends using technology instead of relying solely

on face-to-face interactions.

3.1.3 The Outcome of Students Using This Product

Students using University Friend Finder will see that finding friends does not have to be

difficult. The app will provide users with a list of other people who already have several interests

in common. This will drastically decrease the amount of time it takes to search out and create a

meaningful friendship.

3.2 Student Organizations

Student organizations will be able to create a profile on University Friend Finder that

allows them to post current events, member interests, and contact information. This will allow all

users to find more information about their organization very quickly.

3.2.1 Why Student Organizations Need This Product

Student organizations need University Friend Finder to increase membership in their

organization. Organizations will be able to reach a different pool of possible student members.

Page 10: Table of Contents - Old Dominion University410copper/labs/docx/Lab1... · Web viewReact Native is a framework for building native apps (for Android and iOS) using React JS library

LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 10

Generally, membership is based on knowing friends in the organization or hearing about the

organization by being in a certain major or class. With University Friend Finder, organizations

will be seen by students in many different majors with vastly different interests which will help

grow the diversity of the organization.

3.2.2 Why Student Organizations Will Use This Product

Student organizations will use University Friend Finder to advertise their organization to

potential new members. Organizations will be able to conveniently list their meeting times and

contact information on their organization profile.

3.2.3 The Outcome of Student Organizations Using This Product

By using University Friend Finder, student organizations will be able to increase

membership which allows organizations to have more events and a better member experience.

Organizations will be able to share meeting times, events, and contact information with potential

members. Organizations will also receive members from many different backgrounds and majors

than without University Friend Finder.

3.3 University Administrators

University administrators will be able to look at generated reports by University Friend

Finder. These reports will show users that have been reported by other users. The administrator

will be able to decide if users need to be warned or banned for inappropriate behavior/conduct.

3.3.1 Why University Administrators Need This Product

Page 11: Table of Contents - Old Dominion University410copper/labs/docx/Lab1... · Web viewReact Native is a framework for building native apps (for Android and iOS) using React JS library

LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 11

Administrators need to stay up to date with the generated reports to ensure that students

using the app feel safe. University Friend Finder provides a way for users to be reported and we

want university administrators to identify how to respond to the situation.

3.3.2 How University Administrators Will Use This Product

University administrators will use University Friend Finder by logging in to the web

browser version of this app. Administrators can view generated reports that will show if any

users have been reported by other users. This includes reporting for inappropriate messages,

profiles, or behavior. Whether a warning or ban is issued to the reported user will depend on the

administrator.

3.3.3 The Outcome of University Administrators Using This Product

By allowing university administrators to be in charge of reports, the university will be

able to determine what standards should be followed on the app. Administrators can identify

potential harm to other users and determine what consequence should occur.

3.4 Potential Other Users

Although we are focusing on university students, this app has the potential to be used for

any and all groups of people.

3.4.1 High Schools

High school students also have a hard time making new friends, especially if attending a

new school. University Friend Finder could provide an easy way to make new friends with

people you may not have classes with and others that you may not know you have common

interests with.

Page 12: Table of Contents - Old Dominion University410copper/labs/docx/Lab1... · Web viewReact Native is a framework for building native apps (for Android and iOS) using React JS library

LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 12

3.4.2 Large Organizations

When an organization gets very large, it can be hard to know everyone personally. Large

organizations could potentially use our app as a way for people in the same organization to get to

know other members that have similar interests who they may not have been able to find

otherwise.

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

Page 13: Table of Contents - Old Dominion University410copper/labs/docx/Lab1... · Web viewReact Native is a framework for building native apps (for Android and iOS) using React JS library

LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 13

● 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.

● 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.

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.

Page 14: Table of Contents - Old Dominion University410copper/labs/docx/Lab1... · Web viewReact Native is a framework for building native apps (for Android and iOS) using React JS library

LAB 1 - UNIVERSITY FRIEND FINDER PRODUCT DESCRIPTION 14

“Campus Loneliness Fact Sheet.” The UnLonely Project, 10 June 2019,

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

Loneliness, Mindfulness, and Academic Achievements: A Moderation Effect among First-Year

College

Students,https://www.researchgate.net/publication/

279273646_Loneliness_Mindfulness_and_Academic_Achievements_A_Moderation_Eff

ect_among_First-Year_College_Students

Pappas, Stacey. 7 Ways Friendships Are Great for Your Health. (n.d.). Retrieved from

https://www.livescience.com/53315-how-friendships-are-good-for-your-health.html.

Chickering, A. W., & Reisser, L. (1993). Education and Identity: 2nd Edition. San Francisco:

Jossey-Bass.