93
SWE 574 Software Development as a Team, Fall 2015 Instructor: Suzan Üsküdarlı PEP: Pink Elephant Project Software Product Manual Revision 1.3 04.01.2016

Revision History - Web viewSWE 574 Software Development as a Team, Fall 2015. Instructor: Suzan Üsküdarlı. PEP: Pink Elephant Project. Software Product Manual. Revision 1. 3. 04.01.2016

  • Upload
    hakien

  • View
    220

  • Download
    0

Embed Size (px)

Citation preview

SWE 574 Software Development as a Team, Fall 2015Instructor: Suzan Üsküdarlı

PEP: Pink Elephant Project

Software Product Manual

Revision 1.3

04.01.2016

By Group 2Barış Özcanlı, Hayri Can Akyel, Mehmet Çelikel, Orkun Koçyiğit,

Recep Günay, Sinan Can Sürücü

Revision History

Revision Date ExplanationDraft 30.11.2015 Draft software product manual1.0 7.12.2015 ● 4.1.1.5.1.1. View All Groups, 4.1.1.5.5. Create

New Discussion, 4.1.1.4.1 Edit Profile, 4.1.1.4.2 Edit Profile Privacy, 4.1.1.4.3 View Profile Feed, 4.1.1.5.1.2. Join Group, 4.1.1.5.1.3. Leave Group sections are added.

● 4.2.1.2. Login/Logout as a User section is renamed as 4.2.1.2. Login/Logout as a User and the content is revised.

1.1 14.12.2015 4.1.1.4.3 View Profile Feed, 4.1.2. Admin Operations, 4.1.3. Master Admin Operations, 4.1.4. Moderator Operations, 4.1.5. Writer Operations, 4.2.2. Admin Operations, 4.2.3. Master Admin Operations, 4.2.4. Moderator Operations, 4.2.5. Writer Operations sections are deleted. They will be added when the functions are usable.

The figures in the following sections were revised due to UI revisions: 4.1.1.4. My Profile Page, 4.1.1.4.1 Edit Profile, 4.1.1.4.2 Edit Profile Privacy, 4.1.1.5.2. Create New Group, 4.1.1.5.4. Create New Meeting, 4.1.1.5.5. Create New Discussion.

3. Testing section is revised.1.2 21.12.2015 2.2. Software Tools section in 2. Implementation

section, 3. Testing section, 4. Application Installation, Configuration and Operation section and its subsections as marked in Table of Contents and References section are revised.

1.3 03.01.2015 4.1.1.4.3 Upload Profile Picture, 4.2.1.5.6. Relate Meeting with a Discussion, 4.2.1.1.5.6.1. Relate Meeting in Create New Discussion Page, 4.2.1.5.7. Create New Resource, 4.2.1.5.8. Update Discussion, 4.2.1.5.9. Update Note, 4.1.1.7. Search, 4.2.1.4.1. Edit Profile, 4.2.1.4.2. Upload Profile Picture, 4.2.1.4.3. Privacy Settings, 4.2.1.5.1. Create New Group, 4.2.1.6. Messages Screen, 4.2.1.7. Group Details Screen, 4.2.1.7.1. Create Discussion, 4.2.1.7.2. Create Note,

Page 2 / 76

4.2.1.7.3. View Discussion, 4.2.1.7.4. View Note, 4.2.1.7.5 View Meeting sections are added.

3. Testing, 4. Application Installation, Configuration and Operation, 4.1. Web Application, 4.1.1. User Operations, 4.1.1.1. Register as a User, 4.1.1.4. My Profile Page, 4.1.1.4.1 Edit Profile, 4.1.1.4.2 Edit Profile Privacy, 4.1.1.5. Groups Page, 4.1.1.5.5. Create New Discussion, 4.2. Mobile Application, 4.2.1. User Operations, 4.2.1.2. Login/Logout as a User, 4.2.1.4. My Profile Screen, 4.2.1.5. Groups Screen, References sections are revised.

Page 3 / 76

Table of Contents

Revision History...................................................................................................................................2Table of Contents.................................................................................................................................41. Introduction......................................................................................................................................72. Implementation.................................................................................................................................72.1. Source Code and Executable Organization...................................................................................72.2. Software Tools..............................................................................................................................72.3. Platform.........................................................................................................................................73. Testing..............................................................................................................................................74. Application Installation, Configuration and Operation....................................................................84.1. Web Application............................................................................................................................84.1.1. User Operations..........................................................................................................................84.1.1.1. Register as a User....................................................................................................................84.1.1.2. Login as a User......................................................................................................................104.1.1.3. Forgotten Password...............................................................................................................134.1.1.4. My Profile Page.....................................................................................................................134.1.1.4.1 Edit Profile..........................................................................................................................144.1.1.4.2 Edit Profile Privacy.............................................................................................................164.1.1.5. Groups Page..........................................................................................................................204.1.1.5.1. View Group........................................................................................................................214.1.1.5.1.1. View All Groups.............................................................................................................224.1.1.5.1.2. Join Group.......................................................................................................................234.1.1.5.1.3. Leave Group....................................................................................................................244.1.1.5.2. Create New Group..............................................................................................................244.1.1.5.3. View Meeting.....................................................................................................................264.1.1.5.4. Create New Meeting...........................................................................................................274.1.1.5.5. Create New Discussion......................................................................................................284.2.1.5.6. Relate Meeting with a Discussion......................................................................................304.2.1.1.5.6.1. Relate Meeting in Create New Discussion Page..........................................................304.2.1.5.7. Create New Resource.........................................................................................................324.2.1.5.8. Update Discussion..............................................................................................................354.2.1.5.9. Update Note........................................................................................................................364.1.1.6. Logout as a User....................................................................................................................374.1.1.7. Search....................................................................................................................................374.2. Mobile Application......................................................................................................................384.2.1. User Operations........................................................................................................................384.2.1.1. Register as a User..................................................................................................................384.2.1.2. Login/Logout as a User.........................................................................................................404.2.1.3. Forgotten Password...............................................................................................................424.2.1.4. My Profile Screen..................................................................................................................444.2.1.4.1. Edit Profile.........................................................................................................................464.2.1.4.2. Upload Profile Picture........................................................................................................474.2.1.4.3. Privacy Settings..................................................................................................................494.2.1.5. Groups Screen.......................................................................................................................504.2.1.5.1. Create New Group..............................................................................................................524.2.1.6. Messages Screen....................................................................................................................534.2.1.7. Group Details Screen.............................................................................................................544.2.1.7.1. Create Discussion...............................................................................................................584.2.1.7.2. Create Note.........................................................................................................................59

Page 4 / 76

4.2.1.7.3. View Discussion.................................................................................................................604.2.1.7.4. View Note...........................................................................................................................614.2.1.7.5 View Meeting......................................................................................................................62References..........................................................................................................................................63Appendices.........................................................................................................................................64Appendix A: Source Code and Executable Delivery.........................................................................64A.1 core_repo Folder..........................................................................................................................64A.1.1 pinkelephant-api Folder............................................................................................................64A.1.1.1 src Folder...............................................................................................................................64A.1.1.1.1 main Folder.........................................................................................................................64A.1.1.1.1.1 java/com/boun Folder......................................................................................................64A.1.1.1.1.1.1 config Folder................................................................................................................64A.1.1.1.1.1.2 web Folder....................................................................................................................64A.1.1.1.1.1.2.1 advice Folder.............................................................................................................64A.1.1.1.1.1.2.2 controller Folder........................................................................................................65A.1.1.1.1.1.2.3 filter Folder................................................................................................................65A.1.1.1.1.2 resources Folder...............................................................................................................65A.1.1.1.2 test/java/com/boun/pinkelephant/test Folder......................................................................65A.2 webapp_repo Folder....................................................................................................................65A.2.1 nbproject Folder........................................................................................................................65A.2.2 public_html Folder...................................................................................................................65A.2.2.1 Content Folder.......................................................................................................................66A.2.2.2.1 assets Folder.......................................................................................................................66A.2.2.2.1.1 css Folder.........................................................................................................................66A.2.2.2.1.1.1 pages Folder..................................................................................................................66A.2.2.2.1.1.2 themes Folder...............................................................................................................67A.2.2.2.1.2 fonts Folder......................................................................................................................67A.2.2.2.1.3 img Folder.......................................................................................................................67A.2.2.2.1.4 plugins Folder..................................................................................................................68A.2.2.2.1.5 scripts Folder...................................................................................................................69A.2.2.3.1 images Folder.....................................................................................................................70A.2.2.4.1 scripts Folder......................................................................................................................71A.2.2.5.1 styles Folder........................................................................................................................71A.2.2.6.1 views Folder.......................................................................................................................71A.2.2.2 assets Folder..........................................................................................................................71A.2.2.3 images Folder........................................................................................................................71A.2.2.4 scripts Folder.........................................................................................................................72A.2.2.5 styles Folder...........................................................................................................................72A.2.2.6 views Folder..........................................................................................................................72A.3 android_repo Folder....................................................................................................................72A.3.1 .idea Folder...............................................................................................................................73A.3.1.1 copyright Folder....................................................................................................................73A.3.2 .settings Folder.........................................................................................................................73A.3.3 app Folder.................................................................................................................................73A.3.3.1 jni Folder...............................................................................................................................73A.3.3.1.1 libjpeg Folder......................................................................................................................73A.3.3.2 libs Folder..............................................................................................................................75A.3.3.2.1 armeabi-v7a Folder.............................................................................................................75A.3.3.2.2 armeabi Folder....................................................................................................................75A.3.3.2.3 x86 Folder...........................................................................................................................75

Page 5 / 76

A.3.3.3 obj/local Folder......................................................................................................................75A.3.3.3.1 armeabi-v7a Folder.............................................................................................................75A.3.3.3.2 armeabi Folder....................................................................................................................75A.3.3.3.3 x86 Folder...........................................................................................................................75A.3.3.4 src Folder...............................................................................................................................75A.3.3.4.1 androidTest/java/swe574/boun/edu/androidproject Folder................................................75A.3.3.4.2 main Folder.........................................................................................................................76A.3.3.4.3 test/java/swe574/boun/edu/androidproject Folder..............................................................76A.3.4 gradle/wrapper Folder..............................................................................................................76

Page 6 / 76

1. Introduction

The purpose of the software project Pink Elephant is to combine discussion, meeting, note, resource and semantic search aspects and enhance it in a usable way, both in web and mobile platforms.

2. Implementation

2.1. Source Code and Executable Organization

The source code organization is managed by GitHub. There are three repositories in the project.

● The back end repository folder is called “core_repo”● The front end repository folder is called “webapp_repo”● The mobile repository folder is called “android_repo”● This main folder has two subfolders and one file ● The content of the “core_repo” folder is specified in Appendix A.1.● The content of the “webapp_repo” folder is specified in Appendix A.2.● The content of the “android_repo” folder is specified in Appendix A.3.

2.2. Software Tools

The software tools used during source code development are specified below:

● GitHub● Android Studio● Swagger● IntelliJ IDEA Java IDE● Eclipse IDE● MongoVUE as MongoDB viewer● Jenkins● Trello● Ganttify

2.3. Platform

The software is implemented and tested and also is expected to operate on following plaftorms:

● Android 4.4.4 KitKat mobile operating system● Google Chrome 46.0.2490.86 m web browser

3. Testing

Register, Login, View/update profile, Apply to/leave group, Tag content Create/view/update/archive group, Create/view/update/delete meeting, Create/view/update/delete note and Create/view/update/delete discussion use cases has been tested sufficiently and operating correctly.

Page 7 / 76

Upload/delete resource, Search subject, Make private messaging, View group members, Archive user account, Propose a meeting, Invite person/user, Archive user account and Send/view/respond meeting invitation use cases have been implemented but they do not cover all cases that may be assumed as critical.

View/modify/approve membership requests, Manage custom user roles, Report content, View/modify/approve reported content, and Export user data use cases have not been implemented yet.

4. Application Installation, Configuration and Operation

The operation manuals of every user role type are stated below.

4.1. Web Application

4.1.1. User Operations

4.1.1.1. Register as a User

When the Pink Elephant URL (http://162.243.18.170/) is entered in a web browser, the login page will appear as seen in Figure 4.1.1.1.1. “Create an account” button should be clicked in order to register.

Figure 4.1.1.1.1 Login Page

When the “Create an account” button is clicked, Sign Up page will be opened as can be seen in Figure 4.1.1.1.2.

Page 8 / 76

Figure 4.1.1.1.2 Sign Up Page

The required fields should be filled and “Sign Up” button should be clicked in order to complete the registration as shown in Figure 4.1.1.1.3.

Figure 4.1.1.1.3 Complete Registration

If some of the registration credentials are not correct, warning messages will appear as shown in Figure 4.1.1.1.4.

Page 9 / 76

Figure 4.1.1.1.4. Invalid Registration Credentials

4.1.1.2. Login as a User

When the Pink Elephant URL is entered in a web browser, the login screen will appear as seen in Figure 4.1.1.2.1.

Page 10 / 76

Figure 4.1.1.2.1 Login Page

Login information should be entered and the “Login” button should be clicked in order to login as can bee seen in Figure 4.1.1.2.2.

Figure 4.1.1.2.2 Login Button

Groups page will be opened if the login credentials are correct as shown in Figure 4.1.1.2.3.

Page 11 / 76

Figure 4.1.1.2.3. Homepage

If the login credentials are not correct, warning message will be shown as can be seen in Figure 4.1.1.2.4.

Figure 4.1.1.2.4 Invalid Login Credentials

Page 12 / 76

4.1.1.3. Forgotten Password

Is the password of the user account is forgotten, “here” button should be clicked as shown in Figure 4.1.1.3.1.

Figure 4.1.1.3.1 Forgotten Password Button

4.1.1.4. My Profile Page

My Profile screen can be opened anytime by opening the menu via clicking the menu button and then clicking the “My Profile” button as shown in Figure 4.1.1.4.1.

Page 13 / 76

Figure 4.1.1.4.1 My Profile Button

Profile information is shown in the My Profile page as can be seen in Figure 4.1.1.4.2.

Figure 4.1.1.4.2 My Profile Page

4.1.1.4.1 Edit Profile

Profile information can be edited by clicking the “Edit Info” button and opening the regarding panel as shown in Figure 4.1.1.4.1.1.

Page 14 / 76

Figure 4.1.1.4.1.1 Edit Info Button

When the update is done, “Save” button should be clicked as can be seen in Figure 4.1.1.4.1.2.

Page 15 / 76

Figure 4.1.1.4.1.2 Save Profile

4.1.1.4.2 Edit Profile Privacy

Profile privacy information can be edited by clicking the “Privacy” button and opening the regarding panel as shown in Figure 4.1.1.4.2.1.

Page 16 / 76

Figure 4.1.1.4.2.1 Privacy Button

When the update is done, “Save” button should be clicked as can be seen in Figure 4.1.1.4.2.2.

Figure 4.1.1.4.2.2 Save Profile Privacy

4.1.1.4.3 Upload Profile Picture

Page 17 / 76

Profile picture can be uploaded by clicking the “Upload Profile Picture” button and opening the regarding panel as shown in Figure 4.1.1.4.3.1.

Figure 4.1.1.4.3.1 Upload Profile Picture Panel

When the page is loaded, image file to be uploaded can be browsed by clicking “Select file” button as can be seen in Figure 4.1.1.4.3.2.

Figure 4.1.1.4.3.2 Select file

The desired file is selected and “Open” button is clicked as shown in Figure 4.1.1.4.3.3.

Page 18 / 76

Figure 4.1.1.4.3.3 Open File

“Change” button can be clicked if another file is needed to be browsed and uploaded as shown in Figure 4.1.1.4.3.4.

Figure 4.1.1.4.3.4 Change Button

“Remove” button can be clicked if the existing file is needed to be removed from the upload list as can be seen in Figure 4.1.1.4.3.5.

Page 19 / 76

Figure 4.1.1.4.3.5 Remove Button

“Submit” button can be clicked in order to save the uploaded file as the profile picture as shown in Figure 4.1.1.4.3.6.

Figure 4.1.1.4.3.6 Submit Button

4.1.1.5. Groups Page

Groups screen can be opened anytime by opening the menu via tapping the menu button and then tapping the “Groups” button as shown in Figure 4.1.1.5.1.

Page 20 / 76

Figure 4.1.1.5.1 Groups Button

Group information is shown in the Groups screen as can be seen in Figure 4.1.1.5.2.

Figure 4.1.1.5.2 Groups Screen

4.1.1.5.1. View Group

Group details can be viewed by clicking a group name in the Groups page as shown in Figure 4.1.1.5.1.1.

Page 21 / 76

Figure 4.1.1.5.1.1 View Group

4.1.1.5.1.1. View All Groups

All groups in a list can be viewed by clicking the “View More” button in the Groups page as shown in Figure 4.1.1.5.1.1.1.

Figure 4.1.1.5.1.1.1 View More Button

All groups will be listed as shown in Figure 4.1.1.5.1.1.2.

Page 22 / 76

Figure 4.1.1.5.1.1.2 View All Groups

4.1.1.5.1.2. Join Group

To join a group, “Join Group” button should be clicked as shown in Figure 4.1.1.5.1.2.1.

Figure 4.1.1.5.1.2.1 Join GroupPage 23 / 76

4.1.1.5.1.3. Leave Group

To leave a group, “Leave Group” button should be clicked as shown in Figure 4.1.1.5.1.3.1.

Figure 4.1.1.5.1.3.1 Leave Group

4.1.1.5.2. Create New Group

To create a new group “Create New Group” button should be clicked as shown in Figure 4.1.1.5.2.1.

Figure 4.1.1.5.2.1 Create New Group Button

Page 24 / 76

The required group information should be filled in the Create New Group page. When it is done, “Create Group” button should be clicked as shown in Figure 4.1.1.5.2.2.

Figure 4.1.1.5.2.2 Create Group Screen

If there is an existing group, the user will be warned as can be seen in Figure 4.1.1.5.2.3.

Figure 4.1.1.5.2.3 Create Group ScreenPage 25 / 76

4.1.1.5.3. View Meeting

In a group details page, when the name of a desired meeting is clicked as shown in Figure 4.1.1.5.3.1, meeting details page will be opened as can be seen in Figure 4.1.1.5.3.2.

Figure 4.1.1.5.3.1 Meeting Button

Page 26 / 76

Figure 4.1.1.5.3.2 Meeting Details Page

4.1.1.5.4. Create New Meeting

In order to create a new meeting, click the add button with a plus icon and then the “Create New Meeting” button should be clicked as shown in Figure 4.1.1.5.4.1.

Figure 4.1.1.5.4.1 Create New Meeting Button

The required meeting information should be filled in the Create Meeting page. When it is done, “Save” button should be clicked as shown in Figure 4.1.1.5.1.4.2.

Page 27 / 76

Figure 4.1.1.5.1.4.2. Create Meeting Page

4.1.1.5.5. Create New Discussion

In order to create a new discussion, click the add button with a plus icon and then the “Create New Discussion” button should be clicked as shown in Figure 4.1.1.5.5.1.

Page 28 / 76

Figure 4.1.1.5.5.1 Create New Discussion Button

The required meeting information should be filled in the Create Discussion page. When it is done, “Save” button should be clicked as shown in Figure 4.1.1.5.1.5.2.

Page 29 / 76

Figure 4.1.1.5.1.5.2. Create Discussion Page

4.2.1.5.6. Relate Meeting with a Discussion

4.2.1.1.5.6.1. Relate Meeting in Create New Discussion Page

In order to relate meeting with a new discussion, click the add button with a plus icon and then the “Create New Discussion” button should be clicked as shown in Figure 4.1.1.5.6.1.1.

Figure 4.1.1.5.6.1.1 Create New Discussion Button

The desired meeting to be related should be entered into the field in Related Meetings tab. When the first few characters of an existing meeting is written, system would recommend the meeting on the panel as can be seen in Figure 4.1.1.5.6.1.2.

Page 30 / 76

Figure 4.1.1.5.6.1.2 Related Meetings Panel

When the existing meeting is clicked, it will be related to the discussion to be created as shown in Figure 4.1.1.5.6.1.3. “Delete” button can be clicked if the relation is needed to be removed.

Page 31 / 76

Figure 4.1.1.5.6.1.3 Relate Meeting

4.2.1.5.7. Create New Resource

In order to create a new resource, the add button with a plus icon should be clicked and then the “Create New Resource” button should be clicked as shown in Figure 4.1.1.5.7.1.

Figure 4.1.1.5.7.1 Create New Resource Button

Page 32 / 76

To browse the desired file to be uploaded, “Select file” button should be clicked as shown in Figure 4.1.1.5.7.2.

Figure 4.1.1.5.7.2 Select File Button

To select the desired file to be uploaded, it should be selected in the browse window and “Open” button should be clicked as shown in Figure 4.1.1.5.7.3.

Page 33 / 76

Figure 4.1.1.5.7.3 Browse File Window

To upload the selected file, “Upload File” button should be clicked as shown in Figure 4.1.1.5.7.4. The file can be browsed again and changed by clicking “Change” button. The file can be removed from the list by clicking “Remove” button.

Figure 4.1.1.5.7.4 Upload File Button

Page 34 / 76

4.2.1.5.8. Update Discussion

In order to update a discussion, “Update Discussion” button should be clicked in the discussion details page as shown in Figure 4.1.1.5.8.1.

Figure 4.1.1.5.8.1 Update Discussion Button

Desired information should be updated and “Update Discussion” button should be clicked in order to complete the operation as can be seen in Figure 4.1.1.5.8.2.

Page 35 / 76

Figure 4.1.1.5.8.2 Update Discussion Page

4.2.1.5.9. Update Note

In order to update a discussion, “Update Discussion” button should be clicked in the discussion details page as shown in Figure 4.1.1.5.9.1.

Page 36 / 76

Figure 4.1.1.5.9.1 Update Note Button

Desired information should be updated and “Update” button should be clicked in order to complete the operation as can be seen in Figure 4.1.1.5.9.2.

Figure 4.1.1.5.9.2 Update Note Page

4.1.1.6. Logout as a User

To logout, the panel over the right top of the page can be opened anytime on the web site and then the “Log Out” button can be tapped as shown in Figure 4.1.1.6.1.

Figure 4.1.1.6.1 Log Out Button

4.1.1.7. Search

Page 37 / 76

To search a word in the system, write the desired search input into the search bar in the footer and press click the search button as shown in Figure 4.1.1.7.1.

Figure 4.1.1.7.1 Search Button

4.2. Mobile Application

4.2.1. User Operations

4.2.1.1. Register as a User

When the Pink Elephant application is executed in a mobile phone, the login screen will appear as seen in Figure 4.2.1.1.1.

Figure 4.2.1.1.1 Login

Page 38 / 76

When the “REGISTER” button is tapped, Register screen will be opened as can be seen in Figure 4.2.1.1.2.

Figure 4.2.1.1.2 Register

The required fields should be filled and “REGISTER” button should be tapped in order to complete the registration shown in Figure 4.2.1.1.3.

Figure 4.2.1.1.3. Complete Registration

Page 39 / 76

If some of the registration credentials are not correct, warning messages will appear as shown in Figure 4.2.1.1.4.

Figure 4.2.1.1.4. Invalid Registration Credentials

4.2.1.2. Login/Logout as a User

When the Pink Elephant application is executed in a mobile phone, the login screen will appear as seen in Figure 4.2.1.2.1.

Page 40 / 76

Figure 4.2.1.2.1 Open Application

Login information should be entered and the “SIGN IN” button should be tapped in order to login as can bee seen in Figure 4.2.1.2.2.

Figure 4.2.1.2.2 Login

Home screen will be opened if the login credentials are correct as shown in Figure 4.2.1.2.3.

Figure 4.2.1.2.3. Home Screen

Page 41 / 76

If the login credentials are not correct, warning message will be shown as can be seen in Figure 4.2.1.2.4.

Figure 4.2.1.2.4 Invalid Login Credentials

4.2.1.3. Forgotten Password

Is the password of the user account is forgotten, “FORGOTTEN PASSWORD” button should be tapped as shown in Figure 4.2.1.3.1.

Figure 4.2.1.3.1 Forgotten Password Button

Page 42 / 76

E-mail address regarding to the account of the forgotten password should be entered in the “Email” field and “SEND PASSWORD” button should be tapped as shown in Figure 4.2.1.3.2.

Figure 4.2.1.3.2 Forgotten Password Screen

If the entered e-mail address is invalid, warning message can be seen as shown in Figure 4.2.1.3.3.

Figure 4.2.1.3.3 Invalid E-mail AddressPage 43 / 76

If the entered e-mail address regarding to a user account does not exist, warning message will be shown as can be seen in Figure 4.2.1.3.4.

Figure 4.2.1.3.4 E-mail Address Does Not Exist

4.2.1.4. My Profile Screen

My Profile screen can be opened anytime by opening the menu via tapping the hamburger button and then tapping the “My Profile” button as shown in Figure 4.2.1.4.1.

Figure 4.2.1.4.1 My Profile Button

Page 44 / 76

Profile information is shown in the My Profile screen as can be seen in Figure 4.2.1.4.2.

Figure 4.2.1.4.2 My Profile Screen

When the “Archive Account” button is tapped, the text box with the terms and conditions message will appear as shown in Figure 4.2.1.4.3. If “YES, I AGREE” button is tapped, the account will be archived and the user will be redirected to the login screen.

Figure 4.2.1.4.3 Archive Account

Page 45 / 76

4.2.1.4.1. Edit Profile

In order to edit profile information, three dot icon in the right upper corner in My Profile screen should be tapped. Then Edit Profile button should be tapped as can be seen in Figure 4.2.4.1.1.

Figure 4.2.1.4.1.1 Edit Profile Button

The desired profile information is updated and Update Profile button is tapped as shown in Figure 4.2.1.4.1.2.

Figure 4.2.1.4.1.2 Update Profile

Page 46 / 76

4.2.1.4.2. Upload Profile Picture

In order to upload profile picture, profile picture icon in My Profile page should be tapped as can be seen in Figure 4.2.1.4.2.1.

Figure 4.2.1.4.2.1 Profile Picture Icon

Gallery button should be tapped in order to browse images in the mobile phone as shown in Figure 4.2.1.4.2.2.

Figure 4.2.1.4.2.2 Gallery Button

Page 47 / 76

The desired image file is choosed by tapping as can be seen in Figure 4.2.1.4.2.3.

Figure 4.2.1.4.2.3 Select Image

The profile picture is uploaded and saved after the operation is done, as shown in Figure 4.2.1.4.2.4.

Figure 4.2.1.4.2.4.

Page 48 / 76

4.2.1.4.3. Privacy Settings

To change the privacy settings of the account, PRIVACY SETTINGS button should be tapped in My Profile page as shown in Figure 4.2.1.4.3.1.

Figure 4.2.1.4.3.1 Privacy Settings Button

The privacy setting will be pre defined as “Everyone can send you messages” as shown in Figure 4.2.1.4.3.2. Tap the ON / OFF button to change it.

Figure 4.2.1.4.3.2 Privacy Settings ScreenIf the privacy setting has been changed, it will be shown as “No one can send you messages.” as can be seen in Figure 4.2.1.4.3.3.

Page 49 / 76

Figure 4.2.1.4.3.3 Change Privacy Setting

4.2.1.5. Groups Screen

Groups screen can be opened anytime by opening the menu via tapping the hamburger button and then tapping the “Groups” button as shown in Figure 4.2.1.5.1.

Figure 4.2.1.5.1 Groups Button

Group information is shown in the Groups screen as can be seen in Figure 4.2.1.5.2.

Page 50 / 76

Figure 4.2.1.5.2 Groups Screen

All groups can be viewed by tapping the “VIEW ALL GROUPS” button in the Groups screen as shown in Figure 4.2.1.5.3.

Figure 4.2.1.5.3 All Groups ScreenPage 51 / 76

4.2.1.5.1. Create New Group

To create a new group “Create Group” button should be tapped via tapping the three point icon in the Groups screen as shown in Figure 4.2.1.5.1.1.

Figure 4.2.1.5.1.1 Create Group Button

The required group information should be filled in the Create Group screen. When it is done, “Create Group” button should be tapped as shown in Figure 4.2.1.5.1.2.

Figure 4.2.1.5.1.2 Create Group Screen

Page 52 / 76

4.2.1.6. Messages Screen

Messages screen can be opened anytime when by opening the menu via tapping the hamburger button and then tapping the “Messages” button as shown in Figure 4.2.1.6.1.

Figure 4.2.1.6.1 Messages Button

Message information is shown in Messages screen as can be seen in Figure 4.2.1.6.2.

Figure 4.2.1.6.2 Messages Screen

Page 53 / 76

4.2.1.7. Group Details Screen

Name of a group can be tapped in Groups screen in order to reach the group details screen of that group, as shown in Figure 4.2.1.7.1.

Figure 4.2.1.7.1 Group Details Button

Group Details screen is opened as can be seen in Figure 4.2.1.7.2.

Figure 4.2.1.7.2 Group Details Screen

Page 54 / 76

Meetings in that group will be listed when “Meetings” button in the navigation panel is tapped as shown in Figure 4.2.1.7.3.

Figure 4.2.1.7.3 Meetings Button

Existing meetings in the group are listed as can be seen in Figure 4.2.1.7.4.

Figure 4.2.1.7.4 Meetings Screen

Page 55 / 76

Discussions in that group will be listed when “Discussions” button in the navigation panel is tapped as shown in Figure 4.2.1.7.5.

Figure 4.2.1.7.5 Discussions Button

Existing discussions in the group are listed as can be seen in Figure 4.2.1.7.6.

Figure 4.2.1.7.6 Discussions Screen

Page 56 / 76

Notes in that group will be listed when “Notes” button in the navigation panel is tapped as shown in Figure 4.2.1.7.7.

Figure 4.2.1.7.7 Notes Button

Existing notes in the group are listed as can be seen in Figure 4.2.1.7.8.

Figure 4.2.1.7.8 Notes Screen

Page 57 / 76

4.2.1.7.1. Create Discussion

Create Discussion button can be tapped after tapping three dot icon in Discussions Screen in order to create a new discussion, as shown in Figure 4.2.1.7.1.1.

Figure 4.2.1.7.1.1 Create Discussion Button

The required fields are filled and “Create Discussion” button is tapped in order to create a new discussion, as shown in Figure 4.2.1.7.1.2.

Figure 4.2.1.7.1.2 Create Discussion

Page 58 / 76

4.2.1.7.2. Create Note

Create Note button can be tapped after tapping three dot icon in Notes Screen in order to create a new discussion, as shown in Figure 4.2.1.7.2.1.

Figure 4.2.1.7.2.1 Create Note Button

The required fields are filled and “Create Note” button is tapped in order to create a new note, as shown in Figure 4.2.1.7.2.2.

Figure 4.2.1.7.2.2 Create Note

Page 59 / 76

4.2.1.7.3. View Discussion

The name of the desired discussion can be tapped in Discussions Screen in order to view the details, as can be seen in Figure 4.2.1.7.3.1.

Figure 4.2.1.7.3.1 Tap Discussion

Discussion details screen will be opened as shown in Figure 4.2.1.7.3.2.

Figure 4.2.1.7.3.2 Discussion Details ScreenPage 60 / 76

4.2.1.7.4. View Note

The name of the desired note can be tapped in Notes Screen in order to view the details, as can be seen in Figure 4.2.1.7.4.1.

Figure 4.2.1.7.4.1 Tap Note

Note details screen will be opened as shown in Figure 4.2.1.7.4.2.

Figure 4.2.1.7.4.2 Note Details Screen

Page 61 / 76

4.2.1.7.5 View Meeting

The name of the desired meeting can be tapped in Meetings Screen in order to view the details, as can be seen in Figure 4.2.1.7.5.1.

Figure 4.2.1.7.5.1 Tap Meeting

Meeting details screen will be opened as shown in Figure 4.2.1.7.5.2.

Figure 4.2.1.7.5.2 Meeting Details

Page 62 / 76

References

1. Özcanlı, B., Akyel, H. C., Çelikel, M., Koçyiğit, O., Günay, R., Sürücü, S. C., “PEP: Pink Elephant Project Software Product Manual”, 2015, v1.2.

2. Özcanlı, B., Akyel, H. C., Çelikel, M., Koçyiğit, O., Günay, R., Sürücü, S. C., “PEP: Pink Elephant Project Requirements Specifications Document”, 2015, v1.6.

3. Özcanlı, B., Akyel, H. C., Çelikel, M., Koçyiğit, O., Günay, R., Sürücü, S. C., “PEP: Pink Elephant Project Design Specifications Document”, 2015, v1.0.

4. Bennett, S., McRobb, S., Farmer, R. “Object-Oriented Systems Analysis and Design Using UML: Fourth Edition”, Pearson Education Limited, 2003.

Page 63 / 76

Appendices

Appendix A: Source Code and Executable Delivery

A.1 core_repo Folder

● pinkelephant-api Folder (See Appendix A.1.1)● pinkelephant-commons Folder (See Appendix A.1.2)● pinkelephant-services Folder (See Appendix A.1.3)● README.md File● install.sh File

A.1.1 pinkelephant-api Folder

● src Folder (See Appendix A.1.1.1)● .gitignore File● dump.rdb File● pom.xml File

A.1.1.1 src Folder

● main Folder (See Appendix A.1.1.1.1)● test/java/com/boun/pinkelephant/test Folder (See Appendix A.1.1.1.2)

A.1.1.1.1 main Folder

● java/com/boun Folder (See Appendix A.1.1.1.1.1)● resources Folder (See Appendix A.1.1.1.1.2)

A.1.1.1.1.1 java/com/boun Folder

● config Folder (See Appendix A.1.1.1.1.1.1)● web Folder (See Appendix A.1.1.1.1.1.2)● PinkElephantApiApplication.java File

A.1.1.1.1.1.1 config Folder

● AppConfig.java● SwaggerConfig.java

A.1.1.1.1.1.2 web Folder

● advice Folder (See Appendix A.1.1.1.1.1.2.1)● controller Folder (See Appendix A.1.1.1.1.1.2.2)● filter Folder (See Appendix A.1.1.1.1.1.2.3)

A.1.1.1.1.1.2.1 advice Folder

Page 64 / 76

● PinkElephantControllerAdvice.java File

A.1.1.1.1.1.2.2 controller Folder

● DiscussionController.java File● GroupController.java File● MeetingController.java File● NoteController.java File● ResourceController.java File● RoleController.java File● UserController.java File

A.1.1.1.1.1.2.3 filter Folder

● CORSFilter.java File● RequestFilter.java File

A.1.1.1.1.2 resources Folder

● application-dev.properties File● application-prod.properties File● application.properties File● log4j.properties File

A.1.1.1.2 test/java/com/boun/pinkelephant/test Folder

● UserControllerTest.java File

A.2 webapp_repo Folder

● nbproject Folder (See Appendix A.2.1)● public_html Folder (See Appendix A.2.2)

A.2.1 nbproject Folder

● project.properties File

A.2.2 public_html Folder

● Content Folder (See Appendix A.2.2.1)● assets Folder (See Appendix A.2.2.2)● images Folder (See Appendix A.2.2.3)● scripts Folder (See Appendix A.2.2.4)● styles Folder (See Appendix A.2.2.5)● views Folder (See Appendix A.2.2.6)● Web.config File● index.html File● index_1.html File● login.html File

Page 65 / 76

A.2.2.1 Content Folder

● assets Folder (See Appendix A.2.2.2.1)● images Folder (See Appendix A.2.2.3.1)● scripts Folder (See Appendix A.2.2.4.1)● styles Folder (See Appendix A.2.2.5.1)● views Folder (See Appendix A.2.2.6.1)● Web.config File● index.html File● index_1.html File● login.html File

A.2.2.2.1 assets Folder

● css Folder (See Appendix A.2.2.2.1.1)● fonts Folder (See Appendix A.2.2.2.1.2)● img Folder (See Appendix A.2.2.2.1.3)● plugins Folder (See Appendix A.2.2.2.1.4)● scripts Folder (See Appendix A.2.2.2.1.5)

A.2.2.2.1.1 css Folder

● pages Folder (See Appendix A.2.2.2.1.1.1)● themes Folder (See Appendix A.2.2.2.1.1.2)● animate.css File● custom.css File● plugins.css File● print.css File● print.css File● style-conquer.css File● style-non-responsive.css File● style-responsive.css File● style.css File

A.2.2.2.1.1.1 pages Folder

● about.us.css File● blog.css File● error.css File● image-crop.css File● inbox.css File● invoice.css File● lock.css File● login.css File● portfolio.css File● pricing-tables.css File● profile.css File● promo.css File● tasks.css File

Page 66 / 76

A.2.2.2.1.1.2 themes Folder

● blue.css File● default.css File● grey.css File● light.css File● red.css File

A.2.2.2.1.2 fonts Folder

● DXI1ORHCpsQm3Vp6mXoaTXhCUOGz7vYGh680lGh-uXM.woff File● MTP_ySUJH_bn48VBG8sNSnhCUOGz7vYGh680lGh-uXM.woff File● cJZKeOuBrn4kERxqtaUH3T8E0i7KZn-EPnyo3HZu7kw.woff File● font.css File● k3k702ZOKiLJc3WVjuplzHhCUOGz7vYGh680lGh-uXM.woff File

A.2.2.2.1.3 img Folder

● blog Folder (See Appendix A.2.2.2.1.3.1)● file_types Folder (See Appendix A.2.2.2.1.3.2)● flags Folder (See Appendix A.2.2.2.1.3.3)● gallery Folder (See Appendix A.2.2.2.1.3.4)● invoice Folder (See Appendix A.2.2.2.1.3.5)● pages Folder (See Appendix A.2.2.2.1.3.6)● social Folder (See Appendix A.2.2.2.1.3.7)● works Folder (See Appendix A.2.2.2.1.3.8)● ajax.loading.gif File● ajax-modal-loading.gif File● arrow-down.png File● avatar.png File● avatar1.jpg File● avatar1_small.jpg File● avatar2.jpg File● avatar3.jpg File● avatar3_small.jpg File● bg-opacity.png File● bg-white-lock.png File● bg-white.png File● datatable-row-openclose.png File● icon-color-close.png File● icon-img-down.png File● icon-img.up.png File● input-spinner.gif File● loading.gif File● logo.png File● menu-toggler.png File● overlay-icon.png File● photo1.jpg File● photo2.jpg File● portlet-collapse-icon-white.png File

Page 67 / 76

● portlet-collapse-icon.png File● portlet-config-icon-white.png File● portlet-config-icon.png File● portlet-expand-icon-white.png File● portlet-expand-icon.png File● portlet-reload-icon-white.png File● portlet-reload-icon.png File● portlet-remove-icon-white.png File● portlet-remove-icon.png File● remove-icon-small.png File● search-icon.png File● sidebar-search-close.png File● sidebar-toggler.jpg File● sidebar-toggler.png File

A.2.2.2.1.4 plugins Folder

● bootbox Folder● bootstrap-colorpicker Folder ● bootstrap-datepaginator Folder ● bootstrap-datepicker Folder ● bootstrap-daterangepicker Folder ● bootstrap-datetimepicker Folder ● bootstrap-editable Folder ● bootstrap-fileupload Folder● bootstrap-hover-dropdown Folder● bootstrap-markdown Folder ● bootstrap-maxlength Folder ● bootstrap-modal Folder ● bootstrap-sessiontimeout Folder ● bootstrap-switch Folder ● bootstrap-timepicker Folder ● bootstrap-toastr Folder ● bootstrap-touchspin Folder ● bootstrap-wizard Folder ● bootstrap-wysihtml5 Folder ● bootstrap Folder ● ckeditor Folder● clockface Folder● countdown Folder ● data-tables Folder ● dropzone Folder ● fancybox Folder● flot Folder ● font-awesome Folder● fuelux Folder ● fullcalendar Folder ● gmaps Folder ● gritter Folder● ion.rangeslider Folder

Page 68 / 76

● jcrop Folder ● jquery-bootpag Folder● jquery-easy-pie-chart Folder● jquery-file-upload Folder ● jquery-idle-timeout Folder● jquery-inputmask Folder ● jquery-knob Folder ● jquery-mixitup Folder ● jquery-multi-select Folder ● jquery-nestable Folder ● jquery-slimscroll Folder● jquery-tags-input Folder ● jquery-ui-touch-punch Folder ● jquery-ui Folder ● jquery-validation Folder ● jquery.pwstrenght.bootstrap Folder ● jqvmap Folder ● nouislider Folder ● select2 Folder ● uniform Folder ● excanvas.min.js File● holder.js File● jquery-1.10.2.min.js File● jquery-1.10.2.min.map File● jquery-migrate-1.2.1.min.js File● jquery.blockui.min.js File● jquery.cokie.min.js File● jquery.input-ip-address-control-1.0.min.js File● jquery.mockjax.js File● jquery.peity.min.js File● jquery.pulsate.min.js File● jquery.sparkline.min.js File● moment.min.js File● respond.min.js File

A.2.2.2.1.5 scripts Folder

● app.js File● calendar.js File● charts.js File● contact-us.js File● custom.js File● form-components.js File● form-dropzone.js File● form-editable.js File● form-fileupload.js File● form-image-crop.js File● form-samples.js File● form-validation.js File● form-wizard.js File

Page 69 / 76

● idle-timeout.js File● inbox.js File● index.js File● login.js File● maps-google.js File● maps-vector.js File● portfolio.js File● portlet-draggable.js File● table-advanced.js File● table-ajax.js File● table-editable.js File● table-managed.js File● tasks.js File● ui-datepaginator.js File● ui-extended-modals.js File● ui-general.js File● ui-ion-sliders.js File● ui-jqueryui-sliders.js File● ui-knob.js File● ui-nestable.js File● ui-nouisliders.js File● ui-toastr.js File● ui-tree.js File

A.2.2.3.1 images Folder

● about.png File● demo1.jpg File● demo10.jpg File● demo11.jpg File● demo12 jpg File● demo13.jpg File● demo14.jpg File● demo15.jpg File● demo16.jpg File● demo2.jpg File● demo3.jpg File● demo4.jpg File● demo5.jpg File● demo6.jpg File● demo7.jpg File● demo8.jpg File● demo9.jpg File● favDelete.png File● favIcon.png File● home.png File● sidebarSlice.png File● standard_month.png File● star.png File

Page 70 / 76

A.2.2.4.1 scripts Folder

● controllers Folder● directives Folder● filters Folder● services Folder● vendoer Folder● app.js File● main.js File

A.2.2.5.1 styles Folder

● images Folder● bootstrap.css File● colorbox.css File● jquery-ui.css File● main.css File

A.2.2.6.1 views Folder

● demo Folder● discussion Folder● groups Folder● meeting Folder● notes Folder● my_profile.html File

A.2.2.2 assets Folder

● css Folder● fonts Folder● img Folder● plugins Folder● scripts Folder

A.2.2.3 images Folder

● about.png File● demo1.jpg File● demo10.jpg File● demo11.jpg File● demo12 jpg File● demo13.jpg File● demo14.jpg File● demo15.jpg File● demo16.jpg File● demo2.jpg File● demo3.jpg File● demo4.jpg File● demo5.jpg File

Page 71 / 76

● demo6.jpg File● demo7.jpg File● demo8.jpg File● demo9.jpg File● favDelete.png File● favIcon.png File● home.png File● sidebarSlice.png File● star.png File

A.2.2.4 scripts Folder

● controllers Folder● directives Folder● filters Folder● services Folder● vendor Folder● app.js File● main.js File

A.2.2.5 styles Folder

● images Folder● bootstrap.css File● colorbox.css File● jquery-ui.css File● main.css File

A.2.2.6 views Folder

● demo Folder● login.html File● register.html File

A.3 android_repo Folder

● .idea Folder (See Appendix A.3.1)● .settings Folder (See Appendix A.3.2)● app Folder (See Appendix A.3.3)● gradle/wrapper Folder (See Appendix A.3.4)● .classpath File● .gitignore File● .project File● README.md File● android_repo.iml File● build.gradle File● gradle.properties File● gradlew File● gradlew.bat File● settings.gradle File

Page 72 / 76

A.3.1 .idea Folder

● copyright Folder (See Appendix A.3.1.1)● .name File● compiler.xml File● encodings.xml File● gradle.xml File● misc.xml File● modules.xml File● runConfigurations.xml File● vcs.xml File

A.3.1.1 copyright Folder

● profiles_settings.xml File

A.3.2 .settings Folder

● org.eclipse.jdt.core.prefs File

A.3.3 app Folder

● jni Folder (See Appendix A.3.3.1)● libs Folder (See Appendix A.3.3.2)● obj/local Folder (See Appendix A.3.3.3)● src Folder (See Appendix A.3.3.4)● .gitignore File● app-debug.apk File● app.iml File● build.gradle File● proguard-rules.pro File

A.3.3.1 jni Folder

● libjpeg Folder (See Appendix A.3.3.1.1)● Android.mk File● Application.mk File● image.c File● utils.c File● utils.h File

A.3.3.1.1 libjpeg Folder

● armv6_idct.S File● jcapimin.c File● jcapistd.c File● jccoefct.c File● jccolor.c File● jcdctmgr.c File

Page 73 / 76

● jchuff.c File● jchuff.h File● jcinit.c File● jcmainct.c File● jcmarker.c File● jcmaster.c File● jcomapi.c File● jconfig.h File● jcparam.c File● jcphuff.c File● jcprepct.c File● jcsample.c File● jctrans.c File● jdapimin.c File● jdapistd.c File● jdatadst.c File● jdatasrc.c File● jdcoefct.c File● jdcolor.c File● jdct.h File● jddctmgr.c File● jdhuff.c File● jdhuff.h File● jdinput.c File● jdmainct.c File● jdmarker.c File● jdmaster.c File● jdmerge.c File● jdphuff.c File● jdpostct.c File● jdsample.c File● jdtrans.c File● jerror.c File● jfdctflt.c File● jfdctfst.c File● jfdctint.c File● jidctflt.c File● jidctint.c File● jidctred.c File● jinclude.h File● jmemmgr.c File● jmemnobs.c File● jmemsys.h File● jmorecfg.h File● jpegint.h File● jpeglib.h File● jquant1.c File● jquant2.c File● jutils.c File● jversion.h File

Page 74 / 76

A.3.3.2 libs Folder

● armeabi-v7a Folder (See Appendix A.3.3.2.1)● armeabi Folder (See Appendix A.3.3.2.2)● x86 Folder (See Appendix A.3.3.2.3)

A.3.3.2.1 armeabi-v7a Folder

● libchat.4.so File

A.3.3.2.2 armeabi Folder

● libchat.4.so File

A.3.3.2.3 x86 Folder

● libchat.4.so File

A.3.3.3 obj/local Folder

● armeabi-v7a Folder (See Appendix A.3.3.3.1)● armeabi Folder (See Appendix A.3.3.3.2)● x86 Folder (See Appendix A.3.3.3.3)

A.3.3.3.1 armeabi-v7a Folder

● objs/chat.4 Folder● libchat.4.so File

A.3.3.3.2 armeabi Folder

● objs/chat.4 Folder● libchat.4.so File

A.3.3.3.3 x86 Folder

● objs/chat.4 Folder● libchat.4.so File

A.3.3.4 src Folder

● androidTest/java/swe574/boun/edu/androidproject Folder (See Appendix A.3.3.4.1)● main Folder (See Appendix A.3.3.4.2)● test/java/swe574/boun/edu/androidproject Folder (See Appendix A.3.3.4.3)

A.3.3.4.1 androidTest/java/swe574/boun/edu/androidproject Folder

● ApplicationTest.java File

Page 75 / 76

A.3.3.4.2 main Folder

● assets/emoji Folder● java/swe574/boun/edu/androidproject Folder● libs Folder● res Folder● AndroidManifest.xml File

A.3.3.4.3 test/java/swe574/boun/edu/androidproject Folder

● ExampleUnitTest.java File

A.3.4 gradle/wrapper Folder

● gradle-wrapper.jar File● gradle-wrapper.properties File

Page 76 / 76