You are on page 1of 74

CAPSTONE PROJECT REPORT

(Project Term August-December 2018)

Depression Free Android Application

Submitted by

Nritam Kumar Registration Number : 11509914


Lasic Goel Registration Number : 11505553
Shilpa Kumari Registration Number : 11509791

Project Group Number- CSERGC0290

Course Code- CSE439

Under the Guidance of

23707:: Ritika Sharma


Assistant Professor

School of Computer Science and Engineering


TOPIC APPROVAL PERFORMA

School of Computer Science and Engineering (SCSE)

Program : P132::B.Tech. (Computer Science & Engineering)

COURSE CODE : CSE439 REGULAR/BACKLOG : Regular GROUP NUMBER : CSERGC0290

Supervisor Name : Ritika Sharma UID : 23707 Designation : Assistant Professor

Qualification : ________________________ Research Experience : ________________________

SR.NO. NAME OF STUDENT REGISTRATION NO BATCH SECTION CONTACT NUMBER

1 Nritam Kumar 11509914 2015 K1503 8822456476


2 Shilpa Kumari 11509791 2015 K1501 8146030115
3 Lasic Goel 11505553 2015 K1504 9149201476

SPECIALIZATION AREA : System Programming Supervisor Signature: ___________________

PROPOSED TOPIC : Depression-Free Android App

Qualitative Assessment of Proposed Topic by PAC

Sr.No. Parameter Rating (out of 10)

1 Project Novelty: Potential of the project to create new knowledge 7.00

2 Project Feasibility: Project can be timely carried out in-house with low-cost and available resources in 7.00
the University by the students.
3 Project Academic Inputs: Project topic is relevant and makes extensive use of academic inputs in UG 7.00
program and serves as a culminating effort for core study area of the degree program.
4 Project Supervision: Project supervisor’s is technically competent to guide students, resolve any issues, 7.00
and impart necessary skills.
5 Social Applicability: Project work intends to solve a practical problem. 7.00

6 Future Scope: Project has potential to become basis of future research work, publication or patent. 7.00

PAC Committee Members

PAC Member 1 Name: Kewal Krishan UID: 11179 Recommended (Y/N): Yes

PAC Member 2 Name: Raj Karan Singh UID: 14307 Recommended (Y/N): Yes

PAC Member 3 Name: Sawal Tandon UID: 14770 Recommended (Y/N): Yes

PAC Member 4 Name: Robin Prakash Mathur UID: 14597 Recommended (Y/N): NA

DAA Nominee Name: Kuldeep Kumar Kushwaha UID: 17118 Recommended (Y/N): Yes

Final Topic Approved by PAC: Depression-Free Android App

Overall Remarks: Approved

PAC CHAIRPERSON Name: 11024::Amandeep Nagpal Approval Date: 09 May 2018

11/15/2018 4:42:58 PM
DECLARATION

We hereby declare that the project work entitled "Depression Free Android app" is an authentic
record of our own work carried out as requirements of Capstone Project for the award
of B.Tech degree in Computer Science Engineer from Lovely Professional University,
Phagwara, under the guidance of Ritika Sharma, during August to December 2018. All
the information furnished in this capstone project report is based on our own intensive
work and is genuine.

Project Group Number: CSERGC0290

Name of Student 1: Nritam Kumar


Registration Number: 11509914

Name of Student 2: Lasic Goel


Registration Number: 11505553

Name of Student 3: Shilpa Kumari


Registration Number: 11509791

(Signature of Student 1)
Date:

(Signature of Student 2)
Date:

(Signature of Student 3)
Date:

iii
CERTIFICATE

This is to certify that the declaration statement made by this group of students is correct
to the best of my knowledge and belief. They have completed this Capstone Project
under my guidance and supervision. The present work is the result of their original
investigation, effort and study. No part of the work has ever been submitted for any
other degree at any University. The Capstone Project is fit for the submission and partial
fulfillment of the conditions for the award of B.Tech degree in Computer Science
Engineer from Lovely Professional University, Phagwara.

Ritika Sharma
Signature and Name of the Mentor

Designation : Assistant Professor

School of Computer Science and Engineering,


Lovely Professional University,
Phagwara, Punjab.

Date :

iv
ACKNOWLEDGEMENT

We take this opportunity to present our votes of thanks to all those guidepost who
really acted as lightening pillars to enlighten our way throughout this project that
has led to successful and satisfactory completion of this study.

We are really grateful to Ritika mam for providing us with an opportunity to


undertake this project and providing us with all the facilities. We are highly thankful
to mam for her active support, valuable time and advice, whole-hearted guidance,
sincere cooperation and pains-taking involvement during the study and in
completing the assignment of preparing the said project within the time stipulated.

Lastly, we are thankful to all those, particularly the various friends , who have been
instrumental in creating proper, healthy and conductive environment and including
new and fresh innovative ideas for me during the project, without their help, it
would have been extremely difficult for us to prepare the project in a time bound
framework.

v
TABLE OF CONTENTS

Inner first page……………………………………………………………………….(i)


PAC form……………………………………………………………………………(ii)

Declaration…...……………………………………………………………………..(iii)

Certificate……..…….………………………………………………………………(iv)

Acknowledgement…………………...………….……………………………….......(v)

Table of Contents……………………...……………………………………………(vi)

1. INTRODUCTION 1

1.1 OVERVIEW 1

1.1 OBJECTIVE OF THE PROJECT 1

1.3 FIREBASE 1

1.4 CHATBOT 2
2. PROBLEM STATEMENT 4

2.1 PROBLEM DESCRIPTION 4

2.2 SOLUTION TO THE PROBLEM 4


3. EXISTING SYSTEM 5

3.1 INTRODUCTION 5

3.2 EXISTING SOFTWARE 5

3.3 DFD FOR PRESENT SYSTEM 5

3.4 WHAT’S NEW IN THE SYSTEM TO BE DEVELOPED 7

vi
4. PROBLEM ANALYSIS 8

4.1 PRODUCT DEFINITION 8

4.1.1 ANDROID DEVELOPMENT 8

4.1.2 ANDROID SDK 8

4.1.3 ANDROID STUDIO 8

4.1.4 ANDROID STUDIO 3.2.1 9

4.2 FEASIBILITY ANALYSIS 9

4.3 PROJECT PLAN 10


5. SOFTWARE REQUIREMENT ANALYSIS 12

5.1 INTRODUCTION 12

5.2 GENERAL DESCRIPTION 12

5.3 SPECIFIC REQUIREMENTS 14

5.4 SYSTEM ANALYSIS 15

5.4.1 PROBLEM IDENTIFICATION 16

5.4.2 USER REQUIREMENTS 16


6. DESIGN 17

6.1 SYSTEM DESIGN 17

6.2 DESIGN NOTATIONS 17

6.2.1 PROCESS 17

6.2.2 DATASTORE 18

6.2.3 DATA FLOW 18

6.2.4 EXTERNAL ENTITY 19

6.3 DETAILED DESIGN 19

6.3.1 ER DIAGRAM 20

6.3.2 FLOWCHART 21

6.4 PSEUDO CODE 23

vii
7. TESTING 33

7.1 FUNCTIONAL TESTING 33

7.2 STRUCTURAL TESTING 36

7.2.1 PERFORMANCE REQUIREMENTS 37

7.2.2 SEFETY REQUIREMENTS 37

7.2.3 PERFORMANCE 37

7.3 LEVELS OF TESTING 37

7.3.1 UNIT TESTING 37

7.3.2 INTEGRATED TESTING 38

7.3.3 SYSTEM TESTING 38

7.3.4 ACCEPTANCE TESTING 39

7.4 TESTING THE PROJECT 39


8. IMPLEMENTATION 40

8.1 IMPLEMENTATION OF THE PROJECT 40

8.1.1 PROJECT ACTIVATION 40

8.1.2 PROJECT OPERATION 41

8.2 CONVERSION PLAN 42

8.3 POST IMPLEMENTATION 42

8.4 SOFTWARE MAINTAINANCE 43

9. PROJECT LEGACY 44

9.1 CURRENT STATUS OF THE PROJECT 44

9.2 REMAINING AREAS OF CONCERN 44

9.3 TECHNICAL AND MANAGERIAL LESSONS LEARNT 44

9.3.1 TECHNICAL LESSONS LEARNT 44

9.3.2 MANAGERIAL LESSONS LEARNT 44

viii
10. USER MANUAL 45
11. SYSTEM SNAPSHOTS 49

11.1 APP SCREENSHOTS 49

11.2 DATABASE SCREENSHOTS 61

11.3 AUTHENTICATION SCREENSHOTS 63

11.4 STORAGE SCREENSHOTS 63


12. BIBLIOGRAPHY 64

LIST OF FIGURES
Figure 1.3.1: Firebase database 2
Figure 1.4.1: Chatbot 3

Figure 3.3.1: Level 0 DFD 5

Figure 3.3.2: Level 1 DFD 6

Figure 3.3.: Level 2 DFD 7

Figure 4.3.1: Development Schedule 11

Figure 5.2.1: Sign-up page 12

Figure 5.2.2: Reason for stress 13

Figure 5.2.3: Overview of app 13

Figure 5.2.4: Chatbot 14

Figure 5.2.5: User profile 14

Figure 5.3.1: Home screen 15

Figure 6.3.1.1: ER Diagram 20

Figure 6.3.2.1: Flowchart 21

Figure 6.3.2.2: Flowchart for test your power 22


Figure 6.3.3.3: Flowchart for Success stories 22
Figure 6.3.3.4: Flowchart for Videos 23

ix
Figure 7.3.2.1: Integrated Testing 38

Figure 7.3.3.1: System Testing 38

Figure 7.3.3.4: Acceptance Testing 39

Figure 11.1.1: Main signup screen 49

Figure 11.1.2: Signup details 50

Figure 11.1.3: Selecting emotional status 51

Figure 11.1.4: Home screen 52

Figure 11.1.5: Home screen 53

Figure 11.1.6: Random quotes 54

Figure 11.1.7: Chatbot 55

Figure 11.1.8: Test your power 56

Figure 11.1.9: Test your power 57

Figure 11.1.10: Locate 58

Figure 11.1.11: About me 59

Figure 11.1.12: Music 60

Figure 11.1.13: Meditation 61

Figure 11.2.1: User IDs 61

Figure 11.2.2: Database 62

Figure 11.2.3: Database 62

Figure 11.3.1: Firebase authentication 63

Figure 11.4.1: Stored files 63

LIST OF TABLES

Table 4.1.4.1: System requirements 9

x
1. INTRODUCTION
1.1. OVERVIEW
The report is about an android app which is called as Stress Manager. As the name
suggests it manages the stress level amongst its users. Stress is very common these days
and a huge part of the population is suffering from stress. Whether its a school going child,
or a college student, a working man/ woman or a home-maker, a multi-millionaire or a
person struggling to live a normal life, or an old-aged person, almost stress issues are seen
in every age group and every section of the society.

This app is an initiative to help those people to deal with their stress and get rid of
it on their own without any help. Using it, the user can watch videos which help in reducing
stress and can read success stories which can help him to motivate and encourage him. The
user can also chat with a virtual stress manager assistant which is an artificially intelligent
chatbot and take help. He can even play games that relieves his mind and increases
concentration level. Apart from these, there are certain mantras that will provide you
guidance and will soothen your mind and bring peace.

1.2. OBJECTIVE OF THE PROJECT


Stress Manager android application is built to analyze the level of stress or any kind
of depression through which the user is going through and suggest ways to the user to
recover from those particular sources of stress in mainly three ways i.e. providing real life
success stories of people who fought such days of stress and how they did so, by providing
motivational videos related to user’s source of depression and by testing their focusing
power.
The idea of building this application stroked us when we observed many students
studying in universities or colleges going through multiple tasks in their everyday life
which builds tremendous amount of anxiety among them. Stress Manager is a small step
towards managing and removing these anxieties.

1.3. FIREBASE
It is a cloud based, Google backed product that provides multiple products like
analytics, Database, crash reporting, storage, messaging etc. It is an excellent platform for

1
mobile app developers that helps quickly develop high quality apps and grow in business.
Firebase provides a real-time database and backend as a service. The service provides
application developers an API that allows application data to be synchronized across clients
and stored on Firebase's cloud.

Here, in our project, we have used its authentication feature for logging in into the
app. FirebaseAuth is a service that can authenticate users using only client-side code. It
supports social login providers Facebook, GitHub, Twitter and Google (and Google Play
Games). Additionally, it includes a user management system whereby developers can
enable user authentication with email and password login stored with Firebase.

Figure 1.3.1: Firebase database

1.4. CHATBOT
A chatbot (sometimes referred to as a chatterbot) is a computer program that
attempts to simulate the conversation or "chatter" of a human being via text or voice
interactions, through artificial intelligence. A user can ask a chatbot a question or make a
command, and the chatbot responds or performs the requested action.

Such programs are often designed to convincingly simulate how a human would
behave as a conversational partner, thereby passing the Turing test. Chatbots are typically
2
used in dialog systems for various practical purposes including customer service or
information acquisition. Some chatterbots use sophisticated natural language
processing systems, but many simpler systems scan for keywords within the input, then
pull a reply with the most matching keywords, or the most similar wording pattern, from
a database.

Figure 1.4.1: Chatbot

3
2. PROBLEM STATEMENT
2.1. PROBLEM DESCRIPTION
According to the World Health Organization, India is one of the most depressed
countries in the world. While around 9% of people in the country say they have
experienced extended periods of depression at least once within their lifetime, nearly
36% have suffered from Major Depressive Episodes (MDE).

2.2. SOLUTION TO THE PROBLEM


The problem in front of us was the increasing stress level amongst the people.
Hence, we decided to develop an android app that can help the user to deal with his stress
and come out of the depression due caused by stress.

The app is helpful for those who wants to defeat stress and live a happy stress-free
life. If a user uses this app efficiently and continuously ten he or she may deal with the
stress he or she is struggling with and may live a happier life.

4
3. EXISTING SYSTEM
3.1. INTRODUCTION
The present app has the following features-

 Allows a user to sign-up into the app.


 Allows to choose his emotional status.
 Shows what the app does and how it works.
 Gives random quotes to motivate.
 Has an AI chatbot.
 Allows him to test his power of concentration and to strengthen it.
 Allows GPS navigation to locate nearby places like hospitals etc.
 Allows to listen soothing music.
 Allows to read motivational success stories of real life.
 Allows to watch videos to encourage.
 Allows to listen mantras to bring peace of mind
 Allows to view profile and check improvement status.

3.2. EXISTING SOFTWARE


There is no specific software which was required to develop this app. The app is
developed on Android Studio which is an Integrated Development Environment used for
developing android apps.

3.3. DFD FOR PRESENT SYSTEM

Figure 3.3.1: Level 0 DFD

5
Figure 3.3.2: Level 1 DFD

6
Figure 3.3.: Level 2 DFD

3.4. WHAT’S NEW TO BE DEVELOPED IN THE SYSTEM


The app can be made better by adding more features like-

 Booking could be done while finding a hospital or a place in the locate option.
 Meditation section could be improved by adding videos of exercises etc.
 There could be more reasons for depression or stress which can be added while
asking emotional status.

7
4. PROBLEM ANALYSIS
4.1. PRODUCT DEFINITION
The product is an android app which is based on managing stress and is called as
Stress Manager. It helps its user to deal with their stress whether it is due to some financial
reason, or due to problems in relationship or due to the problems in student life. It helps
the user to overcome stress step by step and can view progress into levels.

4.1.1. ANDROID DEVELOPMENT

Android software development is the process by which new applications are created
for devices running the Android operating system. Google states that, "Android apps can
be written using Kotlin, Java, and C++ languages" using the Android software
development kit(SDK), while using other languages is also possible.

4.1.2. ANDROID SDK

The Android software development kit (SDK) includes a comprehensive set of


development tools. These include a debugger, libraries, a handset emulator based
on QEMU, documentation, sample code, and tutorials. Currently supported development
platforms include computers running Linux (any modern desktop Linux distribution), Mac
OS X 10.5.8 or later, and Windows 7 or later. As of March 2015, the SDK is not available
on Android itself, but software development is possible by using specialized Android
applications.

4.1.3. ANDROID STUDIO


Android Studio is the officiaL integrated development environment (IDE)
for Google's Android operating system, built on JetBrains' IntelliJ IDEA software and
designed specifically for Android development.

Android Studio was announced on May 16, 2013 at the Google I/O conference. It
was in early access preview stage starting from version 0.1 in May 2013, then entered beta
stage starting from version 0.8 which was released in June 2014. The first stable build was
released in December 2014, starting from version 1.0. The current stable version is 3.2.1,
which was released in October 2018.

8
4.1.4. ANDROID STUDIO 3.2.1

The version used in developing this application is 3.2.1. It makes more convenient
for the developers to develop the Android App Bundle using the newly used OS version,
the Android P.

It has system requirements as mentioned in the table below.

Table 4.1.4.1: System requirements

4.2. FEASIBILITY ANALYSIS


It was interesting to develop the app and was not that difficult as all the required
material was available online and the mentor also helped whenever needed in her best way.
It took us approximately 12 weeks to develop the app completely with few working hours
per day.

There is no cost involved in developing the app but it requires an amount of $25
i.e. INR1800 to get registered on Google Play store and upload the app.

The app is well developed and is ready to help users in overcoming stress and be
depression free.

9
4.3. PROJECT PLAN
The app was developed in around period of 12 weeks. We set our schedule
according to hours. As we spend daily few hours on project only. We got less than 90 days
to complete it. Our schedule is as follow:

1. Problem Identification ------------------------------------- 7 days


2. Feasibility Study --------------------------------------------7 days
3. Requirement Analysis--------------------------------------5 days

4. Design and Implementation


(I) Signup and login Module------------------------------3 days
(II) Chatbot Module----------------------------------------7 days
(III) Lets make you happy Module----------------------15 days
(IV) Know your depression Module----------------------5 days
(V) Relax yourself Module-------------------------------10 days
(VI) Profile--------------------------------------------------10 days

5. Testing --------------------------------------------------------- 21 days

10
Figure 4.3.1: Development Schedule

11
5. SOFTWARE REQUIREMENT ANALYSIS
5.1. INTRODUCTION
The user require the app to help them in the best way to analyze the present stress
level and to analyze the correct reason of stress and to recover from it. It is also expected
to show the level of improvement for the user to analyze himself and the efforts put in by
him.

5.2. GENERAL DESCRIPTION

Figure 5.2.1: Sign-up page

The user is required to sign-up in the app.

12
Figure 5.2.2: Reason for stress

The exact reason of the stress is required to be known in order to recover from it.

Figure 5.2.3: Overview of app

The user should be able to understand how the app what all he needs to do with

the app.

13
Figure 5.2.4: Chatbot

The user can talk to chatbot in order to understand the app properly.

Figure 5.2.5: User profile

The user can view his progress to know his improvements.

5.3. SPECIFIC REQUIREMENTS


The app has been developed to help a user suffering with stress and depression so
its major requirement is to provide solution to deal with stress and recover from it.

14
Figure 5.3.1: Home screen

To overcome stress, it provides several solutions which are making the user happy
through motivational quotes, games that help in better focus and a chatbot. Another
solution is by providing relaxing solutions which include encouraging videos, soothing
meditation and music.

It also lets the user to know his progress and improvement to understand whether
the app is helpful or not.

5.4. SYSTEM ANALYSIS


System analysis is an important activity that takes place when new information
systems are being built and existing ones are changed. Therefore application development
is central to the whole of the system development. It includes gathering the necessary data
and developing plans for new system by-system analyst.

It includes two main facts:

i) Problem Identification

ii) User Requirement

15
5.4.1 PROBLEM IDENTIFICATION
In problem identification, without any clear understanding of the problem in the
application, any further work done will lead to wastage of time 20 and effort at later stages.
Hence various questions must be posed identifying the correct problem like:

i) What is the actual problem?

ii) Causes of problem

iii) Is it important to solve the problem or not?

iv) Types of benefits expected after the problem is solved.

The process of problem identification is consisted in SDLC (System Development


Life Cycle) i.e. that it helps in pin -pointing the problem, setting proper system goals,
determining the boundaries of project by taking into consideration the limitation of existing
systems.

5.4.2 USER REQUIREMENTS


Shared, complete and accurate information requirements are essential.
Unfortunately, determining the information each user need is particularly a different task
in the system development.

16
6. DESIGN
Design is actually defined as a multistage process that primarily focuses on four
distinct features of a program:

1) Data structure

2) Software architecture

3) Interface representation,

4) Procedural detail.

The design process translates the requirements into a representation of the software
that can be accessed for quality product before code generation begins. It is the most
creative and challenging stage of the SDLC (Software Development Life Cycle). It refers
to the technical specifications that will be applied to the system.

6.1. SYSTEM DESIGN


The designing of the app is such that it is easily understandable by the user and easy
to operate. The user is just required to either click icons or type a few words. It is designed
in a handy way to provide an easy use to the user.

6.2. DESIGN NOTATIONS

6.2.1. PROCESS
A process transforms incoming data flow into outgoing data flow.

17
6.2.2. DATASTORE
Data stores are repositories of data in the system. They are sometimes also referred
to as Files.

6.2.3. DATAFLOW
Dataflow are pipelines through which packets of information flow. Label the
arrows with the name of the data that moves through it.

18
6.2.4. EXTERNAL ENTITY
External entities are objects outside the system, with which the system
communicates. External entities are sources and destinations of the system's inputs and
outputs.

6.3. DETAILED DESIGN


The detailed design includes:
(i) ER diagram
(ii) Flowcharts

19
6.3.1. ER DIAGRAM
The Entity Relationship Diagram is-

Figure 6.3.1.1: ER Diagram

20
6.3.2. FLOWCHARTS

Figure 6.3.2.1: Flowchart

21
Figure 6.3.2.2: Flowchart for test your power

Figure 6.3.3.3: Flowchart for Success stories

22
Figure 6.3.3.4: Flowchart for Videos

6.4. PSEUDO CODE


<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_height="match_parent"
android:background="@color/material_green_50"
tools:context="com.example.capstone.stressmanager.Face_emoji">

<VideoView

android:layout_centerInParent="true"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/vdv"
/>

<Button
android:id="@+id/button2"
android:layout_width="200dp"
android:layout_height="100dp"
android:layout_alignParentTop="true"
android:layout_alignStart="@+id/button21"
android:layout_marginTop="26dp"
android:background="@android:color/transparent"
android:onClick="dothis"
android:visibility="invisible"
android:text="Click here to start "
android:textColor="@android:color/white"
android:textSize="30sp" />

<Button
android:id="@+id/button21"

23
android:layout_width="200dp"

android:layout_height="100dp"
android:layout_alignBottom="@+id/vdv"
android:layout_centerHorizontal="true"
android:layout_marginBottom="11dp"
android:background="@android:color/transparent"
android:onClick="dothiss"
android:text="Click here to stop "
android:textColor="@android:color/white"
android:textSize="30sp"
android:visibility="invisible" />

</RelativeLayout>

<?xml version="1.0" encoding="utf-8"?>


<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:orientation="vertical"

android:layout_height="match_parent"
tools:context="com.example.capstone.stressmanager.MusicActivity">
<pl.droidsonroids.gif.GifImageView
android:layout_width="match_parent"
android:layout_height="350dp"
android:id="@+id/image_back"

/>

<ScrollView
android:layout_width="match_parent"
android:layout_height="350dp"
>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<RelativeLayout
android:id="@+id/rel1"
android:layout_width="match_parent"
android:layout_height="match_parent">

<ImageView
android:id="@+id/imageView"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_marginTop="10dp"
android:layout_marginLeft="10dp"

24
android:layout_marginBottom="10dp"

android:background="@drawable/music_icon" />

<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:textSize="20sp"
android:fontFamily="@font/alegreya_sc"
android:textColor="@color/material_green_50"
android:layout_height="30dp"
android:layout_centerVertical="true"
android:layout_marginStart="25dp"
android:layout_toEndOf="@+id/imageView"
/>

</RelativeLayout>

<RelativeLayout
android:id="@+id/rel2"
android:layout_width="match_parent"
android:layout_height="match_parent">

<ImageView
android:id="@+id/imageView1"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_marginTop="10dp"
android:layout_marginLeft="10dp"
android:layout_marginBottom="10dp"

android:background="@drawable/music_icon" />

<TextView
android:id="@+id/textView1"

android:layout_width="match_parent"
android:textSize="20sp"
android:fontFamily="@font/alegreya_sc"
android:textColor="@color/material_green_50"
android:layout_height="30dp"
android:layout_centerVertical="true"
android:layout_marginStart="25dp"
android:layout_toEndOf="@+id/imageView1"
/>

</RelativeLayout>

<RelativeLayout
android:id="@+id/rel3"
android:layout_width="match_parent"
android:layout_height="match_parent">

<ImageView

25
android:id="@+id/imageView2"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_marginTop="10dp"
android:layout_marginLeft="10dp"
android:layout_marginBottom="10dp"

android:background="@drawable/music_icon" />

<TextView
android:id="@+id/textView2"
android:layout_width="match_parent"
android:textSize="20sp"
android:fontFamily="@font/alegreya_sc"
android:textColor="@color/material_green_50"
android:layout_height="30dp"
android:layout_centerVertical="true"
android:layout_marginStart="25dp"
android:layout_toEndOf="@+id/imageView2"
/>

</RelativeLayout>

<RelativeLayout
android:id="@+id/rel4"
android:layout_width="match_parent"
android:layout_height="match_parent">

<ImageView
android:id="@+id/imageView3"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_marginTop="10dp"
android:layout_marginLeft="10dp"
android:layout_marginBottom="10dp"

android:background="@drawable/music_icon" />

<TextView
android:id="@+id/textView3"
android:layout_width="match_parent"
android:textSize="20sp"
android:fontFamily="@font/alegreya_sc"
android:textColor="@color/material_green_50"
android:layout_height="30dp"
android:layout_centerVertical="true"
android:layout_marginStart="25dp"
android:layout_toEndOf="@+id/imageView3"
/>

</RelativeLayout>

<RelativeLayout
android:id="@+id/rel5"
android:layout_width="match_parent"

26
android:layout_height="match_parent">

<ImageView
android:id="@+id/imageView4"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_marginTop="10dp"
android:layout_marginLeft="10dp"
android:layout_marginBottom="10dp"

android:background="@drawable/music_icon" />

<TextView
android:id="@+id/textView4"
android:layout_width="match_parent"
android:textSize="20sp"
android:fontFamily="@font/alegreya_sc"
android:textColor="@color/material_green_50"
android:layout_height="30dp"
android:layout_centerVertical="true"
android:layout_marginStart="25dp"
android:layout_toEndOf="@+id/imageView4"
/>

</RelativeLayout>

<RelativeLayout
android:id="@+id/rel6"
android:layout_width="match_parent"
android:layout_height="match_parent">

<ImageView
android:id="@+id/imageView5"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_marginTop="10dp"
android:layout_marginLeft="10dp"
android:layout_marginBottom="10dp"

android:background="@drawable/music_icon" />

<TextView
android:id="@+id/textView5"
android:layout_width="match_parent"
android:textSize="20sp"
android:fontFamily="@font/alegreya_sc"
android:textColor="@color/material_green_50"
android:layout_height="30dp"
android:layout_centerVertical="true"
android:layout_marginStart="25dp"
android:layout_toEndOf="@+id/imageView5"
/>

</RelativeLayout>

27
</LinearLayout>
</ScrollView>

<Button
android:layout_width="130dp"
android:layout_height="match_parent"

android:text="STOP MUSIC"
android:background="@android:color/transparent"
android:onClick="dothis"/>

</LinearLayout>

<?xml version="1.0" encoding="utf-8"?>


<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"

android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context="com.example.capstone.stressmanager.profile">

<pl.droidsonroids.gif.GifImageView
android:layout_width="match_parent"
android:layout_height="match_parent"

android:background="@drawable/star_back"
/>

<android.support.design.widget.AppBarLayout
android:id="@+id/app_bar"

android:layout_width="match_parent"
android:layout_height="400dp"
android:fitsSystemWindows="true"

android:theme="@style/AppBarOverlay"
>

<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/toolbar_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
app:contentScrim="?attr/colorPrimary"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
app:toolbarId="@+id/toolbar">

<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"

28
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_collapseMode="pin"
app:popupTheme="@style/PopupOverlay" />

<ImageView
android:layout_width="match_parent"
android:layout_height="400dp"
android:id="@+id/profilepic"

android:clickable="true"
android:onClick="upload"
android:background="@drawable/upload"
/>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>

<include layout="@layout/content_profile" />

</android.support.design.widget.CoordinatorLayout>

<android.support.v4.widget.NestedScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="com.example.capstone.stressmanager.homeScreen"
tools:showIn="@layout/activity_scrolling"
>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<TextView
android:layout_marginTop="20dp"
android:layout_marginLeft="10dp"
android:layout_width="200dp"
android:layout_height="30dp"
android:text="LET ME MAKE YOU HAPPY"
android:fontFamily="@font/alegreya_sc"
android:textColor="@color/material_green_50"
android:textSize="16dp"/>

<HorizontalScrollView
android:layout_marginTop="20dp"
android:layout_marginLeft="10dp"
android:layout_width="match_parent"
android:layout_height="wrap_content">

29
<LinearLayout
android:layout_width="match_parent"
android:layout_height="140dp"

android:orientation="horizontal">

<ImageButton
android:layout_width="100dp"
android:layout_height="120dp"
android:background="@drawable/randomsayings"
android:onClick="dorandom"
/>

<ImageButton
android:layout_width="100dp"
android:layout_height="120dp"
android:background="@drawable/chatt"
android:onClick="cover_click"
android:layout_marginLeft="40dp"

/>

<ImageButton
android:layout_width="100dp"
android:layout_height="120dp"
android:background="@drawable/howtouse"
android:layout_marginLeft="40dp"
android:onClick="moosic_click"

/>

<ImageButton
android:layout_width="100dp"
android:layout_height="120dp"
android:background="@drawable/focuspower"
android:layout_marginLeft="40dp"
android:onClick="focus_click"

/>

</LinearLayout>

</HorizontalScrollView>

<TextView
android:layout_marginTop="20dp"
android:layout_marginLeft="10dp"
android:layout_width="200dp"
android:layout_height="30dp"
android:text="KNOW YOUR DEPRESSION"
android:fontFamily="@font/alegreya_sc"
android:textSize="16dp"
android:textColor="@color/material_green_50"/>

<HorizontalScrollView

30
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:layout_marginLeft="10dp">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="140dp"
android:orientation="horizontal">

<ImageButton
android:layout_width="100dp"
android:layout_height="120dp"
android:background="@drawable/location"
android:onClick="location_click"

/>

<ImageButton
android:layout_width="100dp"
android:layout_height="120dp"
android:background="@drawable/successful"
android:onClick="book_click"
android:layout_marginLeft="40dp"

/>

</LinearLayout>

</HorizontalScrollView>

<TextView
android:layout_width="200dp"
android:layout_height="30dp"
android:text="RELAX YOURSELF"
android:fontFamily="@font/alegreya_sc"
android:textSize="16dp"
android:layout_marginTop="20dp"
android:layout_marginLeft="10dp"
android:textColor="@color/material_green_50"/>

<HorizontalScrollView

android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:layout_marginLeft="10dp">

<LinearLayout

31
android:layout_width="match_parent"
android:layout_height="140dp"
android:orientation="horizontal">

<ImageButton
android:layout_width="100dp"
android:layout_height="120dp"
android:background="@drawable/musicc"
android:onClick="music_click"

/>

<ImageButton
android:layout_width="100dp"
android:layout_height="120dp"
android:layout_marginLeft="40dp"
android:background="@drawable/musiclisten"
android:onClick="musicc_click"

/>

<ImageButton
android:layout_width="100dp"
android:layout_height="120dp"
android:layout_marginLeft="40dp"
android:background="@drawable/meditasion"
android:onClick="mantra_click"

/>

</LinearLayout>

</HorizontalScrollView>
</LinearLayout>
</android.support.v4.widget.NestedScrollView>

32
7. TESTING
Software testing is a critical section of software quality assurance and represents
the ultimate review of specification, design and coding. Testing presents an interesting
view of a system using various test data or cases. Preparation of the test data plays an
important role in the system testing. After preparing the test data, the system under study
is tested those test data. Errors and bugs are found and corrected by using the following
testing steps and corrections are recorded for future references. Thus, series of testing is
performed on the system before it is ready for implementation.

7.1. FUNCTIONAL TESTING


Functional Testing is the type of testing done against the business requirements of
application. It is a black box type of testing. It involves the complete integration system to
evaluate the system’s compliance with its specified requirements. Based on the functional
specification document this type of testing is to be carried out. In actual testing, testers need
to verify a specific action or function of the code.

Functional testing typically involves five steps:

1. The identification of functions that the software is expected to perform.

2. The creation of input data based on the function's specifications.

3. The determination of output based on the function's specifications.

4. The execution of the test case.

The comparison of actual and expected outputs. For functional testing either manual
testing or automation tools can be used but functionality testing would be easier using
manual testing only. Prior to non-functional testing the Functional testing would be
executed first.
General Functional requirement 1:
 Description:- App will run in android device only.
 Input:- If first button is click.
 Processing:- Transfer of request.
 Output:- Display the sign up page.

33
General Functional requirement 2:
 Description:- If the user is new and does not have an account .
 Input:- Requests for email ID and password
 Processing: Retrieves the provided information and makes a new account
for the user
 Output: Display first page.
Authentication
The website gets a request from the firebase to verify an account.

General Functional requirement 3:


 Description:- Source of depression.
 Input:- If first button is click.
 Processing:- Transfer of request.
 Output:- Display the Main navigation page.

General Functional requirement 4:


 Description:- working of navigation drawer.
 Input:- It contain Profile, Chatbot, Music, Videos, Quotes, Test your power,
Locate, Meditation and Success stories.
 Processing:- Transfer of request.
 Output:- Display the Main navigation page.
General Functional requirement 5:
 Description:- Success stories section is selected..
 Processing:- In firebase database under the child (username) progress child
is checked. It will show how many stories have been read by user and save
its progress in firebase.
 Output:- It will show different real life stories.
General Functional requirement 6:
 Description:- Profile section selected.
 Processing:- In firebase database it collected all information about user and
his or her progress level.
34
 Output:- Display the progress of user.
General Functional requirement 7:
 Description:- Videos section selected.
 Processing:- . If the user selects videos then in database under that particular
user it is searched if progress equals to what. For example if zero then show
first video and set progress to one and so on.
 Output:- Display videos according to progress of user.
General Functional requirement 8:
 Description:- Quotes section selected.
 Processing:- If the user selects quotes then database under that particular
user shows random quotes.
 Output:- Display random quotes.

General Functional requirement 9:


 Description:- Chatbot section selected.
 Processing:- . If the user selects chatbot then an AI chatbot will be able to
converse with the user as per the basic small talks fed in the firebase.
 Output:-Reply to user’s questions .
General Functional requirement 10:
 Description:- Test your power section selected.
 Processing:- . If the user selects test your power then in database under that
particular user it is searched if progress equals to what and show the
concentration games as per progress level.
 Output:- Display games to increase focus according to progress of user.
General Functional requirement 11:
 Description:- Locate section selected.
 Processing:- . If the user selects locate then he or she can look for any place
in Google maps.
 Output:- Navigate to place of choice of user.

35
General Functional requirement 12:
 Description:- Music section selected.
 Processing:- . If the user selects music then in database as per user’s choice
from a list, music gets played.
 Output:- Play music according to choice of user.
General Functional requirement 13:
 Description:- Meditation section selected.
 Processing:- . If the user selects meditation then in database under that
particular user shows random piece of article with sound effect.
 Output:- Display articles to user.

7.2. STRUCTURAL TESTING


Structural testing is also known as white box testing, not black box testing, since
black boxes are considered opaque and do not permit visibility into the code. Structural
testing is also known as clear box testing, also known as glass box testing. Structural testing
is a way to test software with knowledge of the internal workings of the code being tested.

White-box test design techniques include:

• Control flow testing

• Data flow testing

• Branch testing

• Path testing

• Statement coverage

• Decision coverage

36
7.2.1. PERFORMANCE REQUIREMENTS
 It uses android to enhance the user experience
 High data transfer rate
 Reduces server response time
 Save data on goggle firebase
 It removes outdated content from its memory in order to be light and
efficient on firebase
7.2.2. SAFETY REQUIREMENTS
 Maintains dual layer of firewall.
 Keeps its database protected
 Takes regular backups for the extreme cases.
 Must be able to tackle threats from outer internet.
7.2.3. PERFORMANCE
Uses cookies to make itself customized according to user and it uses some
client side scripting to validate in valid entries and correct it before sending it to
server, thus avoiding an invalid page post back.
Availability:
It is available 24Hours worldwide across the globe on any web enabled
device that has internet connection

7.3. LEVELS OF TESTING


7.3.1. UNIT OR COMPONENT TESTING

There are different units of the app like music, quotes, videos, test your power etc.
All these units are individually tested and are working as per requirements.

Benefits:

1. Errors are found at very early stage.

2. It helps in maintaining and changing of code.

3. Codes are more reusable and reliable

37
7.3.2. INTEGRATED TESTING

Different units are further combined into three sections which are Let me
make you happy, Know your depression and Relax yourself. All these have been
tested and are working fine.

Figure 7.3.2.1: Integrated Testing

7.3.3. SYSTEM TESTING

All different sections are combined along with profile and have been tested
as a whole. The complete system passed the test and is working well.

Figure 7.3.3.1: System Testing

38
7.3.4. ACCEPTANCE TESTING

Acceptance testing is defined as a technique performed to determine whether or not


the software system has fulfilled the requirement specifications. It is basically done by the
user although other stake holders involved can also do that.

After the complete being tested the app is ready for the users to be installed and
used.

Figure 7.3.3.4: Acceptance Testing

7.4. TESTING THE PROJECT


The complete app has been tested on emulator as well as on mobile device with
various inputs and it is working appropriately.

39
8. IMPLEMENTATION
8.1. IMPLEMENTATION OF THE PROJECT
Process whereby “project inputs are converted to project outputs”. May be looked
at as:

i) Putting in action the activities of the project.

ii) Putting into practice what was proposed in the project document (i.e.
transforming the project proposal into the actual project).

iii) Management of the project or executing the project intentions.

Project Implementation phase involves:

i) Project Activation

ii) Project Operation

This means making arrangements to have the project started. So all the
requirements needed for making the software useful and meet all the needs of the client
was gathered by having sittings with the client. The feasibility study was made about the
project that whether the project demanded by the client was possible to implement or not.
Then, accordingly the language or the platform that was needed for the development of the
project was decided so that the most simple, secure, robust platform should be chosen so
that all that what was needed by the client can be implemented by the developers easily.

8.1.1 PROJECT ACTIVATION


Project activation simply means making arrangements to have the project started.
It is the preliminary or foundation stage of project 31 implementation and it involves the
coordination and allocation of resources (funds, materials) to make the project operational.

The following activities are undertaken during project activation:

i) Selection of technology and language to use to make project functional.

ii) Division of work among group members according to their area of


expertise.

iii) Preparation of contingency plans.


40
iv)Execution of plan.

This is practical management of a project. Here, project inputs are transformed into
outputs to achieve immediate objectives. In this the basic requirements being taken from
the client, then those were implemented into the functional form by giving the input to the
system and obtaining the desired output from the system. Basically the Black Box
technique was adopted for the client, as the client being a lay man knowing nothing about
the coding and the methods adopted for getting the output from the system, so the output
that was desired by the client was made to happen.

8.1.2 PROJECT OPERATION


Project implementation plan includes:

i) What is the sequence of these activities?

In what manner or rather what sequence should be followed in obtaining the desired
requirements of the project?

ii) What is the time frame for these activities??

Each activity for the completion of the whole system need to be completed within
the required time frame so that in the required time frame the system can be functionally
developed.

iii) What is the time control and remedial action?

Time taken to implement project activities is one measure of successful-ness of


supervision or monitoring of project implementation. So the proper care was taken so that
the project was developed on time and the report for the capstone was developed and
formatted within the given time frame, so that we could prove ourselves to be efficient and
smart as developer.

iv) What is the Project activity and Time listing?

It lists the timing of all the activities of a project. It shows the how much time is
required by each activity/module in application. So an activity should not take much time
which can affect the performance of the whole project.

41
The project was implemented into different segments. First the basic layout was
developed and then coding took place. The layout was designed into XML and it as later
synced with java.

For the sign-up page, firebase was used which has a feature of sign-up and the
source of the depression is asked using radio buttons which gets stored in firebase. Next a
tutorial page was coded to help a new user to know about the app. Further, the main page
was coded including all the sections. Later navigating to each navigation drawer and taking
to the clicked page. And finally updating of the profile was encoded.

8.2. CONVERSION PLAN


The idea of building this application stroked us when we observed many students
studying in universities or colleges going through multiple tasks in their everyday life
which builds tremendous amount of anxiety among them. Stress-Manager is a small step
towards managing and removing these anxieties.
Stress Manager android application is built to analyze the level or stress or any kind
of depression through which the user is going through and suggest ways to the user to
recover from those particular sources of stress.
The app solves the problem of stress and depression and helps the user to recover
from anxiety.

8.3. POST IMPLEMENTATION


1. After the system is implemented and, a review should be conducted to determine
whether the system is meeting the required expectations and where improvements are
needed.

2. A post implementation review measures the systems performance against pre-


defined requirements of the system. It determines how well the system will continues to
work to meet performance specifications.

3. A post – Implementation review is also defined as an evaluation of a system in


terms of the extent to which the system accomplishes stated objectives and roles and actual
project costs exceed initial estimates. It is usually a review of major problems that needs
conversion and those that surfaced during the implementation phase.

42
4. The post implementation study begins with the review team, which collects and
reviews requests for evaluation. Unexpected change in the system that affects the user or
system performance is a concern factor that prompts system review. Once request is filed,
the user is asked to check how well the system is functioning to specifications or how well
the measured benefits have been realized. Suggestions regarding improvements and
changes are also welcomed.

8.4. SOFTWARE MAINTAINANCE


In software maintenance we have to check that whether the software have their
correct working or not. It is used to improve performance of the software and provide better
results .It is concerned with modifying software once it is delivered to the users or we can
say that the process of modifying the software or components after delivery to correct
faults, improve performance or other attributes, or adapt to a change in the environment
and provide better results.

There are four categories of software maintenance these are :

1. Perfective maintenance: changes required as a result of user request

2. Adaptive maintenance: changes needed as consequence of operating system,


hardware

3. Corrective maintenance: changes needed after the identification and removal of


faults in the software.

4. Preventative maintenance: changes made before to software to make it more


maintainable.

43
9. PROJECT LEGACY
9.1. CURRENT STATUS OF THE PROJECT
The project is successfully converted into an android application and is ready to be
installed into devices. The app is secure and does not require any personal information of
the user. So a user need not to hesitate before installing it as it is absolutely free of any
charges. It can also adapt to the addition of new features.

9.2. REMAINING AREAS OF CONCERN


The app can be made better by adding more features like-

 Booking could be done while finding a hospital or a place in the locate


option.
 Meditation section could be improved by adding videos of exercises etc.
 There could be more reasons for depression or stress which can be added
while asking emotional status.

9.3. TECHNICAL AND MANAGERIAL LESSONS LEARNT


9.3.1. TECHNICAL LESSONS LEARNT

We got to learn more about android like-

 Connecting firebase
 Locating using Google maps
 Using voice feature
 Developing AI chatbot
 Streaming videos

9.3.2. MANAGERIAL LESSONS LEARNT

 Learned Team Management.


 Learned how to deal with different situations when stuck.
 Learned how to work in group of developers.
 Learned to distribute tasks to members.
 Learned about the leadership quality.

44
10. USER MANUAL
A guide is there in the app when the user logins for the first time.

45
46
47
48
11. SYSTEM SNAPSHOTS
11.1. APP SCREENSHOTS

Figure 11.1.1: Main signup screen

49
Figure 11.1.2: Signup details

50
Figure 11.1.3: Selecting emotional status

51
Figure 11.1.4: Home screen

52
Figure 11.1.5: Home screen

53
Figure 11.1.6: Random quotes

54
Figure 11.1.7: Chatbot

55
Figure 11.1.8: Test your power

56
Figure 11.1.9: Test your power

57
Figure 11.1.10: Locate

58
Figure 11.1.11: About me

59
Figure 11.1.12: Music

60
Figure 11.1.13: Meditation

11.2. DATABASE SCREENSHOTS

Figure 11.2.1: User IDs

61
Figure 11.2.2: Database

Figure 11.2.3: Database

62
11.3. AUTHENTICATION SCREENSHOTS

Figure 11.3.1: Firebase authentication

11.4. STORAGE SCREENSHOTS

Figure 11.4.1: Stored files

63
12. BIBLIOGRAPHY
 https://developer.android.com/
 https://developer.android.com/studio/write/firebase
 https://stackoverflow.com/
 https://firebase.google.com/docs/database/android/start/
 https://www.youtube.com/
 https://github.com/carotkut94/Abot/
 https://en.wikipedia.org/wiki/Android_Studio#Version_3.x[21]
 https://www.mindinventory.com/blog/android-studio-3-2/
 https://en.wikipedia.org/wiki/Android_software_development

64

You might also like