Revision History



SWE 574 Software Development as a Team, Fall 2015Instructor: Suzan ?sküdarl?PEP: Pink Elephant ProjectSoftware Product ManualRevision 1.405.01.2016By Group 2Bar?? ?zcanl?, Hayri Can Akyel, Mehmet ?elikel, Orkun Ko?yi?it, Recep Günay, Sinan Can SürücüRevision HistoryRevisionDateExplanationDraft30.11.2015Draft software product manual1.07.12.20154.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.114.12.20154.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.221.12.20152.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.304.01.20164.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, 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.1.405.01.20164.3. Application Installation and Configuration section and sub-sections are added.Table of Contents TOC \o "1-3" \h \z \u Revision History PAGEREF _Toc439805189 \h 2Table of Contents PAGEREF _Toc439805190 \h 41. Introduction PAGEREF _Toc439805191 \h 72. Implementation PAGEREF _Toc439805192 \h 72.1. Source Code and Executable Organization PAGEREF _Toc439805193 \h 72.2. Software Tools PAGEREF _Toc439805194 \h 72.3. Platform PAGEREF _Toc439805195 \h 73. Testing PAGEREF _Toc439805196 \h 74. Application Installation, Configuration and Operation PAGEREF _Toc439805197 \h 84.1. Web Application PAGEREF _Toc439805198 \h 84.1.1. User Operations PAGEREF _Toc439805199 \h 84.1.1.1. Register as a User PAGEREF _Toc439805200 \h 84.1.1.2. Login as a User PAGEREF _Toc439805201 \h 104.1.1.3. Forgotten Password PAGEREF _Toc439805202 \h 134.1.1.4. My Profile Page PAGEREF _Toc439805203 \h 134.1.1.4.1 Edit Profile PAGEREF _Toc439805204 \h 144.1.1.4.2 Edit Profile Privacy PAGEREF _Toc439805205 \h 164.1.1.5. Groups Page PAGEREF _Toc439805206 \h 204.1.1.5.1. View Group PAGEREF _Toc439805207 \h 214.1.1.5.1.1. View All Groups PAGEREF _Toc439805208 \h 224.1.1.5.1.2. Join Group PAGEREF _Toc439805209 \h 234.1.1.5.1.3. Leave Group PAGEREF _Toc439805210 \h 244.1.1.5.2. Create New Group PAGEREF _Toc439805211 \h 244.1.1.5.3. View Meeting PAGEREF _Toc439805212 \h 264.1.1.5.4. Create New Meeting PAGEREF _Toc439805213 \h 274.1.1.5.5. Create New Discussion PAGEREF _Toc439805214 \h 284.2.1.5.6. Relate Meeting with a Discussion PAGEREF _Toc439805215 \h 304.2.1.1.5.6.1. Relate Meeting in Create New Discussion Page PAGEREF _Toc439805216 \h 304.2.1.5.7. Create New Resource PAGEREF _Toc439805217 \h 324.2.1.5.8. Update Discussion PAGEREF _Toc439805218 \h 354.2.1.5.9. Update Note PAGEREF _Toc439805219 \h 364.1.1.6. Logout as a User PAGEREF _Toc439805220 \h 374.1.1.7. Search PAGEREF _Toc439805221 \h 374.2. Mobile Application PAGEREF _Toc439805222 \h 384.2.1. User Operations PAGEREF _Toc439805223 \h 384.2.1.1. Register as a User PAGEREF _Toc439805224 \h 384.2.1.2. Login/Logout as a User PAGEREF _Toc439805225 \h 404.2.1.3. Forgotten Password PAGEREF _Toc439805226 \h 424.2.1.4. My Profile Screen PAGEREF _Toc439805227 \h 444.2.1.4.1. Edit Profile PAGEREF _Toc439805228 \h 464.2.1.4.2. Upload Profile Picture PAGEREF _Toc439805229 \h 474.2.1.4.3. Privacy Settings PAGEREF _Toc439805230 \h 494.2.1.5. Groups Screen PAGEREF _Toc439805231 \h 504.2.1.5.1. Create New Group PAGEREF _Toc439805232 \h 524.2.1.6. Messages Screen PAGEREF _Toc439805233 \h 534.2.1.7. Group Details Screen PAGEREF _Toc439805234 \h 544.2.1.7.1. Create Discussion PAGEREF _Toc439805235 \h 584.2.1.7.2. Create Note PAGEREF _Toc439805236 \h 594.2.1.7.3. View Discussion PAGEREF _Toc439805237 \h 604.2.1.7.4. View Note PAGEREF _Toc439805238 \h 614.2.1.7.5 View Meeting PAGEREF _Toc439805239 \h 624.3. Application Installation and Configuration PAGEREF _Toc439805240 \h 634.3.1. Web Application PAGEREF _Toc439805241 \h 634.3.1.1. Core and Web Project Installation PAGEREF _Toc439805242 \h 634.3.1.2. Jenkins Installation and Configuration PAGEREF _Toc439805243 \h 644.3.2. Mobile Application PAGEREF _Toc439805244 \h 654.3.2.1. Mobile Application Apk Installation PAGEREF _Toc439805245 \h 654.3.2.2. Mobile Project Installation PAGEREF _Toc439805246 \h 654.3.2.2.1. How to Set Up JDK PAGEREF _Toc439805247 \h 654.3.2.2. How to Set Up Android SDK PAGEREF _Toc439805248 \h 654.3.2.2. Adding GitHub Repo Into Android Studio PAGEREF _Toc439805249 \h 664.3.2.2. Setting Up Platform Tools PAGEREF _Toc439805250 \h 664.3.2.2. Setting Up Debug Devices PAGEREF _Toc439805251 \h 66References PAGEREF _Toc439805252 \h 68Appendices PAGEREF _Toc439805253 \h 69Appendix A: Source Code and Executable Delivery PAGEREF _Toc439805254 \h 69A.1 core_repo Folder PAGEREF _Toc439805255 \h 69A.1.1 pinkelephant-api Folder PAGEREF _Toc439805256 \h 69A.1.1.1 src Folder PAGEREF _Toc439805257 \h 69A.1.1.1.1 main Folder PAGEREF _Toc439805258 \h 69A.1.1.1.1.1 java/com/boun Folder PAGEREF _Toc439805259 \h 69A.1.1.1.1.1.1 config Folder PAGEREF _Toc439805260 \h 69A.1.1.1.1.1.2 web Folder PAGEREF _Toc439805261 \h 69A.1.1.1.1.1.2.1 advice Folder PAGEREF _Toc439805262 \h 69A.1.1.1.1.1.2.2 controller Folder PAGEREF _Toc439805263 \h 70A.1.1.1.1.1.2.3 filter Folder PAGEREF _Toc439805264 \h 70A.1.1.1.1.2 resources Folder PAGEREF _Toc439805265 \h 70A.1.1.1.2 test/java/com/boun/pinkelephant/test Folder PAGEREF _Toc439805266 \h 70A.2 webapp_repo Folder PAGEREF _Toc439805267 \h 70A.2.1 nbproject Folder PAGEREF _Toc439805268 \h 70A.2.2 public_html Folder PAGEREF _Toc439805269 \h 70A.2.2.1 Content Folder PAGEREF _Toc439805270 \h 71A.2.2.2.1 assets Folder PAGEREF _Toc439805271 \h 71A.2.2.2.1.1 css Folder PAGEREF _Toc439805272 \h 71A.2.2.2.1.1.1 pages Folder PAGEREF _Toc439805273 \h 71A.2.2.2.1.1.2 themes Folder PAGEREF _Toc439805274 \h 72A.2.2.2.1.2 fonts Folder PAGEREF _Toc439805275 \h 72A.2.2.2.1.3 img Folder PAGEREF _Toc439805276 \h 72A.2.2.2.1.4 plugins Folder PAGEREF _Toc439805277 \h 73A.2.2.2.1.5 scripts Folder PAGEREF _Toc439805278 \h 74A.2.2.3.1 images Folder PAGEREF _Toc439805279 \h 75A.2.2.4.1 scripts Folder PAGEREF _Toc439805280 \h 76A.2.2.5.1 styles Folder PAGEREF _Toc439805281 \h 76A.2.2.6.1 views Folder PAGEREF _Toc439805282 \h 76A.2.2.2 assets Folder PAGEREF _Toc439805283 \h 76A.2.2.3 images Folder PAGEREF _Toc439805284 \h 76A.2.2.4 scripts Folder PAGEREF _Toc439805285 \h 77A.2.2.5 styles Folder PAGEREF _Toc439805286 \h 77A.2.2.6 views Folder PAGEREF _Toc439805287 \h 77A.3 android_repo Folder PAGEREF _Toc439805288 \h 77A.3.1 .idea Folder PAGEREF _Toc439805289 \h 78A.3.1.1 copyright Folder PAGEREF _Toc439805290 \h 78A.3.2 .settings Folder PAGEREF _Toc439805291 \h 78A.3.3 app Folder PAGEREF _Toc439805292 \h 78A.3.3.1 jni Folder PAGEREF _Toc439805293 \h 78A.3.3.1.1 libjpeg Folder PAGEREF _Toc439805294 \h 78A.3.3.2 libs Folder PAGEREF _Toc439805295 \h 80A.3.3.2.1 armeabi-v7a Folder PAGEREF _Toc439805296 \h 80A.3.3.2.2 armeabi Folder PAGEREF _Toc439805297 \h 80A.3.3.2.3 x86 Folder PAGEREF _Toc439805298 \h 80A.3.3.3 obj/local Folder PAGEREF _Toc439805299 \h 80A.3.3.3.1 armeabi-v7a Folder PAGEREF _Toc439805300 \h 80A.3.3.3.2 armeabi Folder PAGEREF _Toc439805301 \h 80A.3.3.3.3 x86 Folder PAGEREF _Toc439805302 \h 80A.3.3.4 src Folder PAGEREF _Toc439805303 \h 80A.3.3.4.1 androidTest/java/swe574/boun/edu/androidproject Folder PAGEREF _Toc439805304 \h 80A.3.3.4.2 main Folder PAGEREF _Toc439805305 \h 81A.3.3.4.3 test/java/swe574/boun/edu/androidproject Folder PAGEREF _Toc439805306 \h 81A.3.4 gradle/wrapper Folder PAGEREF _Toc439805307 \h 81 HYPERLINK "http://" \l "_Toc419072857" \h 1. IntroductionThe 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. Implementation2.1. Source Code and Executable OrganizationThe 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:GitHubAndroid StudioSwaggerIntelliJ IDEA Java IDEEclipse IDEMongoVUE as MongoDB viewerJenkinsTrelloGanttify2.3. PlatformThe software is implemented and tested and also is expected to operate on following plaftorms:Android 4.4.4 KitKat mobile operating systemGoogle Chrome 46.0.2490.86 m web browser3. TestingRegister, 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.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 OperationThe operation manuals of every user role type are stated below.4.1. Web Application4.1.1. User Operations4.1.1.1. Register as a UserWhen the Pink Elephant URL () 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 PageWhen 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 PageThe 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 RegistrationIf 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 Credentials4.1.1.2. Login as a UserWhen 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 PageLogin 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 ButtonGroups 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. HomepageIf 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 Credentials4.1.1.3. Forgotten PasswordIs 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 Button4.1.1.4. My Profile PageMy 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 ButtonProfile 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 Page4.1.1.4.1 Edit ProfileProfile 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.Figure 4.1.1.4.1.1 Edit Info ButtonWhen the update is done, “Save” button should be clicked as can be seen in Figure 4.1.1.4.1.2. Figure 4.1.1.4.1.2 Save Profile4.1.1.4.2 Edit Profile PrivacyProfile 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.Figure 4.1.1.4.2.1 Privacy ButtonWhen 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 Privacy4.1.1.4.3 Upload Profile PictureProfile 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 PanelWhen 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 fileThe desired file is selected and “Open” button is clicked as shown in Figure 4.1.1.4.3.3.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.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 Button4.1.1.5. Groups PageGroups 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 ButtonGroup 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 Screen4.1.1.5.1. View GroupGroup details can be viewed by clicking a group name in the Groups page as shown in Figure 4.1.1.5.1.1.Figure 4.1.1.5.1.1 View Group4.1.1.5.1.1. View All GroupsAll 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 ButtonAll groups will be listed as shown in Figure 4.1.1.5.1.1.2.Figure 4.1.1.5.1.1.2 View All Groups4.1.1.5.1.2. Join GroupTo 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 Group4.1.1.5.1.3. Leave GroupTo 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 Group4.1.1.5.2. Create New GroupTo 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 ButtonThe 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 ScreenIf 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 Screen4.1.1.5.3. View MeetingIn 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 ButtonFigure 4.1.1.5.3.2 Meeting Details Page4.1.1.5.4. Create New MeetingIn 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 ButtonThe 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 Page4.1.1.5.5. Create New DiscussionIn 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.Figure 4.1.1.5.5.1 Create New Discussion ButtonThe 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.Figure 4.1.1.5.1.5.2. Create Discussion Page4.2.1.5.6. Relate Meeting with a Discussion4.2.1.1.5.6.1. Relate Meeting in Create New Discussion PageIn 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 ButtonThe 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. Figure 4.1.1.5.6.1.2 Related Meetings PanelWhen 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.Figure 4.1.1.5.6.1.3 Relate Meeting4.2.1.5.7. Create New ResourceIn 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 ButtonTo 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 ButtonTo 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.Figure 4.1.1.5.7.3 Browse File WindowTo 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 Button4.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 ButtonDesired 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.Figure 4.1.1.5.8.2 Update Discussion Page4.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.Figure 4.1.1.5.9.1 Update Note ButtonDesired 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 Page4.1.1.6. Logout as a UserTo 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 Button4.1.1.7. SearchTo 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 Button4.2. Mobile Application4.2.1. User Operations4.2.1.1. Register as a UserWhen 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 LoginWhen 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 RegisterThe 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 RegistrationIf 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 Credentials4.2.1.2. Login/Logout as a UserWhen 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 ApplicationLogin 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 LoginHome 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 ScreenIf 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 Credentials4.2.1.3. Forgotten PasswordIs 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 ButtonE-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 ScreenIf 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 AddressIf 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 Exist4.2.1.4. My Profile ScreenMy 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 ButtonProfile 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 ScreenWhen 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 Account4.2.1.4.1. Edit ProfileIn 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 ButtonThe 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 Profile4.2.1.4.2. Upload Profile PictureIn 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 IconGallery 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 ButtonThe 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 ImageThe 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.4.2.1.4.3. Privacy SettingsTo 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 ButtonThe 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.Figure 4.2.1.4.3.3 Change Privacy Setting4.2.1.5. Groups ScreenGroups 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 ButtonGroup 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 ScreenAll 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 Screen4.2.1.5.1. Create New GroupTo 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 ButtonThe 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 Screen4.2.1.6. Messages ScreenMessages 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 ButtonMessage information is shown in Messages screen as can be seen in Figure 4.2.1.6.2. Figure 4.2.1.6.2 Messages Screen4.2.1.7. Group Details ScreenName 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 ButtonGroup Details screen is opened as can be seen in Figure 4.2.1.7.2.Figure 4.2.1.7.2 Group Details ScreenMeetings 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 ButtonExisting meetings in the group are listed as can be seen in Figure 4.2.1.7.4.Figure 4.2.1.7.4 Meetings ScreenDiscussions 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 ButtonExisting discussions in the group are listed as can be seen in Figure 4.2.1.7.6.Figure 4.2.1.7.6 Discussions ScreenNotes 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 ButtonExisting notes in the group are listed as can be seen in Figure 4.2.1.7.8.Figure 4.2.1.7.8 Notes Screen4.2.1.7.1. Create DiscussionCreate 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 ButtonThe 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 Discussion4.2.1.7.2. Create NoteCreate 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 ButtonThe 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 Note4.2.1.7.3. View DiscussionThe 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 DiscussionDiscussion details screen will be opened as shown in Figure 4.2.1.7.3.2.Figure 4.2.1.7.3.2 Discussion Details Screen4.2.1.7.4. View NoteThe 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 NoteNote details screen will be opened as shown in Figure 4.2.1.7.4.2.Figure 4.2.1.7.4.2 Note Details Screen4.2.1.7.5 View MeetingThe 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 MeetingMeeting details screen will be opened as shown in Figure 4.2.1.7.5.2.Figure 4.2.1.7.5.2 Meeting Details4.3. Application Installation and Configuration4.3.1. Web ApplicationPlease note that the details in this section is compatible with Ubuntu OS.4.3.1.1. Core and Web Project InstallationThe details of core and web project installation can be examined in Table 4.3.1.1.1.#Step1Issue the following command to reload the local package database;sudo apt-get update2You can install either the latest stable version of MongoDB.sudo apt-get install -y mongodb-org3Issue the following command to start mongod (primary daemon process for the MongoDB system)sudo service mongod start4Run command in order to install latest version of Apache Mavensudo apt-get install maven5Issue the following command to install the latest stable version of JDK 7.sudo apt-get install oracle-java7-installer6To install apache, open terminal and type in these commands.sudo apt-get install apache27Run the following command in order to create directory to keep startup scriptsmkdirs /swe574/code/scripts8Copy following scripts into "/swe574/code/scripts" directory.-checkoutAndBuildWEB.sh: This script checkouts web project and copies into apache's "/var/www/html/" folder.-checkoutAndBuild.sh: This script checkouts, builds and runs backend project.-run.sh: This script runs the pink elephant backend.-killApplication.sh: This script finds the running pink elephant application and stops it immediately.Note: You can find these scripts in annex.9Run the following command in order to change owner of /swe574 folder;chown jenkins /swe574chown jenkins /var/www10Copy following files into "/swe574/resources" directory.- dbpedia_2015-04.owl- yago_taxonomy.ntNote: You can find these files in annex. Download link: 4.3.1.1.1 Core and Web Project Installation Steps4.3.1.2. Jenkins Installation and ConfigurationThe details of Jenkins installation and configuration can be examined in Table 4.3.1.2.1.#Step1Before we can install Jenkins, we have to add the key and source list to apt. This is done in 2 steps, first we'll add the keywget -q -O - | apt-key add -2Secondly, we'll create a sources list for Jenkins.echo deb binary/ > /etc/apt/sources.list.d/jenkins.list3Now, we only have to update apt's cache before we can install Jenkins.apt-get update4As the cache has been updated we can proceed installing Jenkins. Note that Jenkins has a big bunch of dependencies, so it might take a few moments to install them all.apt-get install jenkins5Open Jenkins dashbord by opening following link in a browser. "New Item" button which is located at the top left corner of the page.7- Fill "Item name" as pinkelephant-master-build- Select "Free style project" radio button- Click OK button8- Select "Execute shell" option in combobox which is located in "Build" section.- Enter "/swe574/code/scripts/checkoutAndBuild.sh" in command textbox.- Click save button which is located at the bottom of the page.9Return to home page and click "New Item" button which is located at the top left corner of the page.10- Fill "Item name" as pinkelephant-web-master-build- Select "Free style project" radio button- Click OK button11- Select "Execute shell" option in combobox which is located in "Build" section.- Enter "/swe574/code/scripts/checkoutAndBuildWEB.sh" in command textbox.- Click save button which is located at the bottom of the page.12Open following link in browser in order to configure a hook in core repository. By doing this, whenever a new commit pushes into repository, we will trigger jenkins build job. "Add new hook" button.14Enter following link to "Payload URL" field in opened page. Then click save button. following link in browser in order to configure a hook in webapp repository. By doing this, whenever a new commit pushes into repository, we will trigger jenkins build job. "Add new hook" button.17Enter following link to "Payload URL" field in opened page. Then click save button. 4.3.1.2.1 Jenkins Installation and Configuration4.3.2. Mobile Application4.3.2.1. Mobile Application Apk InstallationPink Elephant Apk file which is included in mobile application CD should be copied to local computer.The mobile phone with Android 4.4.4 KitKat mobile operating system is connected to the computer in debug mand prompt is opened in the directory where Apk file is copied.“adb devices” command is written in the console and enter button is pressed. Device list is waited to be listed.After the devices are listed, “adb install – r app-debug.apk” command is written in the console and enter button is pressed. The user should wait until installation to mobile phone is complete.4.3.2.2. Mobile Project Installation4.3.2.2.1. How to Set Up JDKYou need java 7 version in order to develop Android Applications. the Windows is 64-bit then download and install both 32-bit and 64-bit versions. For 32-bit Windows only 32-bit version is enough. For linux/mac get whatever your operation system is.4.3.2.2. How to Set Up Android SDKFirst of all install Android Studio from given link below. (1.1 GB) is pretty straight forward. Might have to download more updates. (Takes 6 minutes in SSD) setup is finished start Android Studio, first start may take a while. It will start download updates, process is automatic.At startup screen choose "Configure" then choose "SDK Manager" then press "Launch Standalone SDK Manager". "deselect all" then Select "Updates". Then make sure "Android SDK Platform Tools" are also selected. By default Android Studio always come with latest API version installed. However our application targets api 19 as such we need to install it and other tools.You can use the images as I posted below or follow the instructions. (Image instructions are only for PC’s with virtualization support. The option must be enabled from the BIOS. Guide is provided here: ) to "Android 4.4.2 (API 19)" Folder and select SDK Platform and Sources. If virtualization is enabled in BIOS choose Intel x86 Atom System Image and Google APIs x86 however if it is not enabled then choose ARM EABI v7a System Image and Google APIs (ARM System Image).Go to Extras and select Android Support Library (Optional), Google USB Driver. If your pc supports virtualization also install Intel x86 Emulator Accelerator.Press install, accept all of the licenses and press install again. After it is done close the SDK Manager and Android Studio.4.3.2.2. Adding GitHub Repo Into Android StudioIf you are using command line to use git, you should go to "C:\Users<User Name>\AndroidStudioProjects", run cmd/shell there and enter this command for linux "git clone? && mv tmp/.git . && rm -rf tmp && git reset --hard" or this command for windows "git clone? && move tmp/.git . && del -rf tmp && git reset --hard".For GitHub Client, open the gui, press the + icon, press clone tab, select swe574-2015fall-group2, select android_repo. When Browse for folder appears, go to "C:\Users<User Name>\AndroidStudioProjects" and press OK.4.3.2.2. Setting Up Platform ToolsFirst of all locate where the platform tools are installed. By default they are located at "C:\Users<User Name>\AppData\Local\Android\sdk\platform-tools".To debug applications platform tools must be added to the path. To do this right click on "My Computer" then "Advanced System Settings". From new window press "Advanced" then "Enviroment Variables". At "System Variables" menu, go down until you found PATH variable. Press Edit button, From the new menu, go to end of the item Variable Value. Put a ";" of the end of it, if it doesn't exist then put the path of android platform tools as such given below. (Note that paths doesn't need to be same) OK to the all menus until we are back to desktop. Close any instance of cmd, if it is open.To check if it is correctly installed, open new instance of cmd then enter this command "adb devices". If it says "List of Attechted Devices" then it is installed correctly.4.3.2.2. Setting Up Debug DevicesThere are two ways to debug Android Applications. First is using actual device (reccomended).Open your device and go to "Settings" app. From there go to "About Phone" list item. Find the item called "Build Number". Now press on it 5 times, the phone will say "You become a developer now".Go back to settings app and press developer options, Press ON if it is required then make sure "USB debugging" is on.Connect your phone to your pc. Now enter "adb kill-server" then "adb devices" into cmd. Make sure your phone's screen is on.The phone will be promt authentication, press okay and make sure you check the box says always trust this pc.Press adb devices again, now it shuold show your device with a serial number.Second way is using AVD (Android Virtual Device). To create AVD open Android Studio.Our Git-Hub project should have appered at the left side of the menu screen now, below of the recent projects. Select that. If not press open an exisiting Android Studio project then navigate to the repo folder. First run might take a while due to gradle integration.Press AVD Manager icon from right side of the run buttons. (Looks like tablet with android).Remove the default API 23 device. Then press Create Virtual Device.Select Nexus 4 from the list, then select kitkat with Google Inc.Press next then finish.References?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.3.?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.?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.Bennett, S., McRobb, S., Farmer, R. “Object-Oriented Systems Analysis and Design Using UML: Fourth Edition”, Pearson Education Limited, 2003. AppendicesAppendix A: Source Code and Executable DeliveryA.1 core_repo Folderpinkelephant-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 Fileinstall.sh FileA.1.1 pinkelephant-api Foldersrc Folder (See Appendix A.1.1.1).gitignore Filedump.rdb Filepom.xml FileA.1.1.1 src Foldermain 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 Folderjava/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 Folderconfig Folder (See Appendix A.1.1.1.1.1.1)web Folder (See Appendix A.1.1.1.1.1.2)PinkElephantApiApplication.java FileA.1.1.1.1.1.1 config FolderAppConfig.javaSwaggerConfig.javaA.1.1.1.1.1.2 web Folderadvice 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 FolderPinkElephantControllerAdvice.java FileA.1.1.1.1.1.2.2 controller FolderDiscussionController.java FileGroupController.java FileMeetingController.java FileNoteController.java FileResourceController.java FileRoleController.java FileUserController.java FileA.1.1.1.1.1.2.3 filter FolderCORSFilter.java FileRequestFilter.java FileA.1.1.1.1.2 resources Folderapplication-dev.properties Fileapplication-prod.properties Fileapplication.properties Filelog4j.properties FileA.1.1.1.2 test/java/com/boun/pinkelephant/test FolderUserControllerTest.java FileA.2 webapp_repo Foldernbproject Folder (See Appendix A.2.1)public_html Folder (See Appendix A.2.2)A.2.1 nbproject Folderproject.properties FileA.2.2 public_html FolderContent 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 Fileindex.html Fileindex_1.html Filelogin.html FileA.2.2.1 Content Folderassets 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 Fileindex.html Fileindex_1.html Filelogin.html FileA.2.2.2.1 assets Foldercss 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 Folderpages Folder (See Appendix A.2.2.2.1.1.1)themes Folder (See Appendix A.2.2.2.1.1.2)animate.css Filecustom.css Fileplugins.css Fileprint.css Fileprint.css Filestyle-conquer.css Filestyle-non-responsive.css Filestyle-responsive.css Filestyle.css FileA.2.2.2.1.1.1 pages Folderabout.us.css Fileblog.css Fileerror.css Fileimage-crop.css Fileinbox.css Fileinvoice.css Filelock.css Filelogin.css Fileportfolio.css Filepricing-tables.css Fileprofile.css Filepromo.css Filetasks.css FileA.2.2.2.1.1.2 themes Folderblue.css Filedefault.css Filegrey.css Filelight.css Filered.css FileA.2.2.2.1.2 fonts FolderDXI1ORHCpsQm3Vp6mXoaTXhCUOGz7vYGh680lGh-uXM.woff FileMTP_ySUJH_bn48VBG8sNSnhCUOGz7vYGh680lGh-uXM.woff FilecJZKeOuBrn4kERxqtaUH3T8E0i7KZn-EPnyo3HZu7kw.woff Filefont.css Filek3k702ZOKiLJc3WVjuplzHhCUOGz7vYGh680lGh-uXM.woff FileA.2.2.2.1.3 img Folderblog 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 Fileajax-modal-loading.gif Filearrow-down.png Fileavatar.png Fileavatar1.jpg Fileavatar1_small.jpg Fileavatar2.jpg Fileavatar3.jpg Fileavatar3_small.jpg Filebg-opacity.png Filebg-white-lock.png Filebg-white.png Filedatatable-row-openclose.png Fileicon-color-close.png Fileicon-img-down.png Fileicon-img.up.png Fileinput-spinner.gif Fileloading.gif Filelogo.png Filemenu-toggler.png Fileoverlay-icon.png Filephoto1.jpg Filephoto2.jpg Fileportlet-collapse-icon-white.png Fileportlet-collapse-icon.png Fileportlet-config-icon-white.png Fileportlet-config-icon.png Fileportlet-expand-icon-white.png Fileportlet-expand-icon.png Fileportlet-reload-icon-white.png Fileportlet-reload-icon.png Fileportlet-remove-icon-white.png Fileportlet-remove-icon.png Fileremove-icon-small.png Filesearch-icon.png Filesidebar-search-close.png Filesidebar-toggler.jpg Filesidebar-toggler.png FileA.2.2.2.1.4 plugins Folderbootbox Folderbootstrap-colorpicker Folder bootstrap-datepaginator Folder bootstrap-datepicker Folder bootstrap-daterangepicker Folder bootstrap-datetimepicker Folder bootstrap-editable Folder bootstrap-fileupload Folderbootstrap-hover-dropdown Folderbootstrap-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 Folderclockface Foldercountdown Folder data-tables Folder dropzone Folder fancybox Folderflot Folder font-awesome Folderfuelux Folder fullcalendar Folder gmaps Folder gritter Folderion.rangeslider Folder jcrop Folder jquery-bootpag Folderjquery-easy-pie-chart Folderjquery-file-upload Folder jquery-idle-timeout Folderjquery-inputmask Folder jquery-knob Folder jquery-mixitup Folder jquery-multi-select Folder jquery-nestable Folder jquery-slimscroll Folderjquery-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 Fileholder.js Filejquery-1.10.2.min.js Filejquery-1.10.2.min.map Filejquery-migrate-1.2.1.min.js Filejquery.blockui.min.js Filejquery.cokie.min.js Filejquery.input-ip-address-control-1.0.min.js Filejquery.mockjax.js Filejquery.peity.min.js Filejquery.pulsate.min.js Filejquery.sparkline.min.js Filemoment.min.js Filerespond.min.js FileA.2.2.2.1.5 scripts Folderapp.js Filecalendar.js Filecharts.js Filecontact-us.js Filecustom.js Fileform-components.js Fileform-dropzone.js Fileform-editable.js Fileform-fileupload.js Fileform-image-crop.js Fileform-samples.js Fileform-validation.js Fileform-wizard.js Fileidle-timeout.js Fileinbox.js Fileindex.js Filelogin.js Filemaps-google.js Filemaps-vector.js Fileportfolio.js Fileportlet-draggable.js Filetable-advanced.js Filetable-ajax.js Filetable-editable.js Filetable-managed.js Filetasks.js Fileui-datepaginator.js Fileui-extended-modals.js Fileui-general.js Fileui-ion-sliders.js Fileui-jqueryui-sliders.js Fileui-knob.js Fileui-nestable.js Fileui-nouisliders.js Fileui-toastr.js Fileui-tree.js FileA.2.2.3.1 images Folderabout.png Filedemo1.jpg Filedemo10.jpg Filedemo11.jpg Filedemo12 jpg Filedemo13.jpg Filedemo14.jpg Filedemo15.jpg Filedemo16.jpg Filedemo2.jpg Filedemo3.jpg Filedemo4.jpg Filedemo5.jpg Filedemo6.jpg Filedemo7.jpg Filedemo8.jpg Filedemo9.jpg FilefavDelete.png FilefavIcon.png Filehome.png FilesidebarSlice.png Filestandard_month.png Filestar.png FileA.2.2.4.1 scripts Foldercontrollers Folderdirectives Folderfilters Folderservices Foldervendoer Folderapp.js Filemain.js FileA.2.2.5.1 styles Folderimages Folderbootstrap.css Filecolorbox.css Filejquery-ui.css Filemain.css FileA.2.2.6.1 views Folderdemo Folderdiscussion Foldergroups Foldermeeting Foldernotes Foldermy_profile.html FileA.2.2.2 assets Foldercss Folderfonts Folderimg Folderplugins Folderscripts FolderA.2.2.3 images Folderabout.png Filedemo1.jpg Filedemo10.jpg Filedemo11.jpg Filedemo12 jpg Filedemo13.jpg Filedemo14.jpg Filedemo15.jpg Filedemo16.jpg Filedemo2.jpg Filedemo3.jpg Filedemo4.jpg Filedemo5.jpg Filedemo6.jpg Filedemo7.jpg Filedemo8.jpg Filedemo9.jpg FilefavDelete.png FilefavIcon.png Filehome.png FilesidebarSlice.png Filestar.png FileA.2.2.4 scripts Foldercontrollers Folderdirectives Folderfilters Folderservices Foldervendor Folderapp.js Filemain.js FileA.2.2.5 styles Folderimages Folderbootstrap.css Filecolorbox.css Filejquery-ui.css Filemain.css FileA.2.2.6 views Folderdemo Folderlogin.html Fileregister.html FileA.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 FileREADME.md Fileandroid_repo.iml Filebuild.gradle Filegradle.properties Filegradlew Filegradlew.bat Filesettings.gradle FileA.3.1 .idea Foldercopyright Folder (See Appendix A.3.1.1).name Filecompiler.xml Fileencodings.xml Filegradle.xml Filemisc.xml Filemodules.xml FilerunConfigurations.xml Filevcs.xml FileA.3.1.1 copyright Folderprofiles_settings.xml FileA.3.2 .settings Folderorg.eclipse.jdt.core.prefs FileA.3.3 app Folderjni 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 Fileapp-debug.apk Fileapp.iml Filebuild.gradle Fileproguard-rules.pro FileA.3.3.1 jni Folderlibjpeg Folder (See Appendix A.3.3.1.1)Android.mk FileApplication.mk Fileimage.c Fileutils.c Fileutils.h FileA.3.3.1.1 libjpeg Folderarmv6_idct.S Filejcapimin.c Filejcapistd.c Filejccoefct.c Filejccolor.c Filejcdctmgr.c Filejchuff.c Filejchuff.h Filejcinit.c Filejcmainct.c Filejcmarker.c Filejcmaster.c Filejcomapi.c Filejconfig.h Filejcparam.c Filejcphuff.c Filejcprepct.c Filejcsample.c Filejctrans.c Filejdapimin.c Filejdapistd.c Filejdatadst.c Filejdatasrc.c Filejdcoefct.c Filejdcolor.c Filejdct.h Filejddctmgr.c Filejdhuff.c Filejdhuff.h Filejdinput.c Filejdmainct.c Filejdmarker.c Filejdmaster.c Filejdmerge.c Filejdphuff.c Filejdpostct.c Filejdsample.c Filejdtrans.c Filejerror.c Filejfdctflt.c Filejfdctfst.c Filejfdctint.c Filejidctflt.c Filejidctint.c Filejidctred.c Filejinclude.h Filejmemmgr.c Filejmemnobs.c Filejmemsys.h Filejmorecfg.h Filejpegint.h Filejpeglib.h Filejquant1.c Filejquant2.c Filejutils.c Filejversion.h FileA.3.3.2 libs Folderarmeabi-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 Folderlibchat.4.so FileA.3.3.2.2 armeabi Folderlibchat.4.so FileA.3.3.2.3 x86 Folderlibchat.4.so FileA.3.3.3 obj/local Folderarmeabi-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 Folderobjs/chat.4 Folderlibchat.4.so FileA.3.3.3.2 armeabi Folderobjs/chat.4 Folderlibchat.4.so FileA.3.3.3.3 x86 Folderobjs/chat.4 Folderlibchat.4.so FileA.3.3.4 src FolderandroidTest/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 FolderApplicationTest.java FileA.3.3.4.2 main Folderassets/emoji Folderjava/swe574/boun/edu/androidproject Folderlibs Folderres FolderAndroidManifest.xml FileA.3.3.4.3 test/java/swe574/boun/edu/androidproject FolderExampleUnitTest.java FileA.3.4 gradle/wrapper Foldergradle-wrapper.jar Filegradle-wrapper.properties File ................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download