SWE 574 Software Development as a Team, Fall 2015

Instructor: Suzan Üsküdarlı

PEP: Pink Elephant Project

Software Product Manual

Draft

30.11.2015

By Group 2

Barış Özcanlı, Hayri Can Akyel, Mehmet Çelikel, Orkun Koçyiğit, Recep Günay, Sinan Can Sürücü

Revision History

Revision / Date / Explanation
Draft / 30.11.2015 / Draft software product manual

Table of Contents

Revision History 2

Table of Contents 3

1. Introduction 5

2. Implementation 5

2.1. Source Code and Executable Organization 5

2.2. Software Tools 5

2.3. Platform 5

3. Testing 5

4. Application Installation, Configuration and Operation 6

4.1. Web Application 6

4.1.1. User Operations 6

4.1.2. Admin Operations 18

4.1.3. Master Admin Operations 18

4.1.4. Moderator Operations 18

4.1.5. Writer Operations 18

4.2. Mobile Application 18

4.2.1. User Operations 18

4.2.2. Admin Operations 31

4.2.3. Master Admin Operations 31

4.2.4. Moderator Operations 31

4.2.5. Writer Operations 31

References 32

Appendices 33

Appendix A: Source Code and Executable Delivery 33

A.1 core_repo Folder 33

A.1.1 pinkelephant-api Folder 33

A.1.1.1 src Folder 33

A.1.1.1.1 main Folder 33

A.1.1.1.1.1 java/com/boun Folder 33

A.1.1.1.1.1.1 config Folder 33

A.1.1.1.1.1.2 web Folder 33

A.1.1.1.1.1.2.1 advice Folder 33

A.1.1.1.1.1.2.2 controller Folder 34

A.1.1.1.1.1.2.3 filter Folder 34

A.1.1.1.1.2 resources Folder 34

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

A.2 webapp_repo Folder 34

A.2.1 nbproject Folder 34

A.2.2 public_html Folder 34

A.2.2.1 Content Folder 34

A.2.2.2.1 assets Folder 35

A.2.2.2.1.1 css Folder 35

A.2.2.2.1.1.1 pages Folder 35

A.2.2.2.1.1.2 themes Folder 35

A.2.2.2.1.2 fonts Folder 36

A.2.2.2.1.3 img Folder 36

A.2.2.2.1.4 plugins Folder 37

A.2.2.2.1.5 scripts Folder 38

A.2.2.3.1 images Folder 39

A.2.2.4.1 scripts Folder 39

A.2.2.5.1 styles Folder 40

A.2.2.6.1 views Folder 40

A.2.2.2 assets Folder 40

A.2.2.3 images Folder 40

A.2.2.4 scripts Folder 41

A.2.2.5 styles Folder 41

A.2.2.6 views Folder 41

A.3 android_repo Folder 41

A.3.1 .idea Folder 41

A.3.1.1 copyright Folder 42

A.3.2 .settings Folder 42

A.3.3 app Folder 42

A.3.3.1 jni Folder 42

A.3.3.1.1 libjpeg Folder 42

A.3.3.2 libs Folder 43

A.3.3.2.1 armeabi-v7a Folder 44

A.3.3.2.2 armeabi Folder 44

A.3.3.2.3 x86 Folder 44

A.3.3.3 obj/local Folder 44

A.3.3.3.1 armeabi-v7a Folder 44

A.3.3.3.2 armeabi Folder 44

A.3.3.3.3 x86 Folder 44

A.3.3.4 src Folder 44

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

A.3.3.4.2 main Folder 44

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

A.3.4 gradle/wrapper Folder 45

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

●  To be detailed

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

To be detailed.

4. Application Installation, Configuration and Operation

To be detailed.

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.215.160/) 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.


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.


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.


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.


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

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.


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


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


Figure 4.1.1.5.3 View 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

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 Screen

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

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

Figure 4.1.1.5.1.4.2. Create Meeting Page

4.1.2. Admin Operations

To be detailed.

4.1.3. Master Admin Operations

To be detailed.

4.1.4. Moderator Operations

To be detailed.

4.1.5. Writer Operations

To be detailed.

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

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

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


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. For now, only search bar is situated in the Home screen.


Figure 4.2.1.2.3. Home Screen

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

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 Address

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

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

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.


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 Screen

4.2.1.5.1. Create a 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

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

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


Figure 4.2.1.6.2 Messages Screen

4.2.2. Admin Operations

To be detailed.

4.2.3. Master Admin Operations

To be detailed.

4.2.4. Moderator Operations

To be detailed.

4.2.5. Writer Operations

To be detailed.

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 Requirements Specifications Document”, 2015, v1.4.

2.  Ö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.

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

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

●  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

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)