Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
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
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
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.
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
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.
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.
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.
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
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.
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
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.
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
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.
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.