HeaderSIS.jpg

Difference between revisions of "IS480 Team wiki: 2014T1 Team Epsilon Documentation"

From IS480
Jump to navigation Jump to search
 
(5 intermediate revisions by the same user not shown)
Line 25: Line 25:
 
<!-- Start of sub-header -->
 
<!-- Start of sub-header -->
 
{|style="background-color:#FFFFFF; color:#000000 padding: 5px 0 0 0;" width="100%" cellspacing="0" cellpadding="0" valign="top" border="0"  |
 
{|style="background-color:#FFFFFF; color:#000000 padding: 5px 0 0 0;" width="100%" cellspacing="0" cellpadding="0" valign="top" border="0"  |
| style="padding:0.4em; font-size:150%; background-color:#E0D1FF;  border-bottom:4px solid #000000; border-top:4px solid #000000; text-align:center; color:#828282" width="10%" | [[IS480 Team wiki: 2014T1 Team Epsilon Documentation  |<font color="#000000" size=2><b>Design Overview</b></font>]]
+
| style="padding:0.4em; font-size:150%; background-color:#E0D1FF;  border-bottom:4px solid #000000; border-top:4px solid #000000; text-align:center; color:#828282" width="10%" | [[IS480 Team wiki: 2014T1 Team Epsilon Documentation  |<font color="#000000" size=2><b>Use Case</b></font>]]
 
 
| style="border-bottom:4px solid #000000; border-top:4px solid #000000; background:none;" width="1%" | &nbsp;
 
| style="padding:0.4em; font-size:150%; background-color:#FFFFFF;  border-bottom:4px solid #000000; border-top:4px solid #000000; text-align:center; color:#828282" width="10%" | [[IS480 Team wiki: 2014T1 Team Epsilon Use Case |<font color="#000000" size=2><b>Use Case</b></font>]]
 
  
 
| style="border-bottom:4px solid #000000; border-top:4px solid #000000; background:none;" width="1%" | &nbsp;
 
| style="border-bottom:4px solid #000000; border-top:4px solid #000000; background:none;" width="1%" | &nbsp;
Line 46: Line 43:
 
<!-- Start Content -->
 
<!-- Start Content -->
  
== '''System Architecture''' ==
+
The following Use Case Diagram and Description was done during the project initiation phase.  
<center>
 
[[Image: Architecture_Diagram_Epsilon.png|1100px]]
 
</center>
 
 
 
== '''MVC Application Layer Architecture''' ==
 
<center>
 
[[Image: MVC_Epsilon.png|1100px]]
 
</center>
 
 
 
 
 
== '''E-R Diagram''' ==
 
<center>
 
[[Image: ERD_Epsilon.png|1100px]]
 
Created in accordance with the [http://guides.rubyonrails.org/association_basics.html <u>Rails convention</u>]
 
</center>
 
 
 
 
 
To streamline the role management, we decided to use 1 user model for all 3 roles, with child models for attributes specific to the user role. We also decided to merge the comment and agency_update model because we realised that both models serve a similar purpose - To capture a user’s words about the feedback. The adminlog model was added due to the addition of a new function - To track admin’s actions on feedback.
 
  
 +
Our project scope has since changed. For the latest project scope,  [https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2014T1_Team_Epsilon_Scope Click Here]
  
{|style="margin: 0 left;"
 
| [[Image: ERD_Epsilon_Acceptance.png|thumb|220px|upright|ERD Version #1]]
 
|}
 
  
 
== '''Use Case Diagram''' ==
 
== '''Use Case Diagram''' ==
  
 
<center>
 
<center>
[[Image: iOS_PFP_Use_Case_Diagram_Epsilon.png|900px]]
+
[[Image: iOS_PFP_Use_Case_Diagram_Epsilon.png|700px]]
 
</center>
 
</center>
  
 
<center>
 
<center>
[[Image: Admin_PFP_Use_Case_Diagram_Epsilon.png|900px]]
+
[[Image: Admin_PFP_Use_Case_Diagram_Epsilon.png|600px]]
 
</center>
 
</center>
  

Latest revision as of 19:07, 22 November 2014

Team Epsilon Logo.png.png

Home   Project Overview   Project Management   Documentation   Team

Use Case   Prototype   User Testing   Meeting Minutes   Submission Archive


The following Use Case Diagram and Description was done during the project initiation phase.

Our project scope has since changed. For the latest project scope, Click Here


Use Case Diagram

IOS PFP Use Case Diagram Epsilon.png

Admin PFP Use Case Diagram Epsilon.png

Web PFP Use Case Diagram Epsilon.png

Use Case Description

Module Function Description User
Account Login/Log Out
Allows the user to login to the system


Normal Login/Log Out
  • Login: Allows the user to login to the system through email and password
  • Logout: Allows the user to logout from the system

Facebook Login

  • Login: Allows the user to login to the system through Facebook
Public
Agency
Admin
Registration
Allows the user to register for an account


Identification of user is by their email address.

Mobile verification is required for registration. User will be required to key in their mobile number, which will be used to send an authentication code to complete the registration process.

Normal Registration

  • Allows the user to register for an account

Facebook Registration

  • Allows the user to register for an account, and facilitates the process by using information (e.g. email address) pulled from their Facebook
Public
Change Password
Allows the user to change password




Public
Feedback Create Feedback
(iOS-only)

Allows the user to submit a new feedback


Additional details that can be input when creating a feedback:

  • Capture Image: Allows the User to take a photo to be attached to the feedback.
  • Image Annotation: Allows the User to annotate and attribute issues for feedback.
  • Feedback Description: Allows the User to write/edit a description of the feedback.
  • Location Input: Allows the User to select a pre-determined location for the feedback.


Users who have an account will be able to create a new feedback regarding a service or infrastructure issue that they wish to highlight to the relevant agencies to be resolved.

This functionality is limited to iOS-only.

Public
Display All Feedback
Allows the user to display all the feedback


Public users will be able to look at all feedback posted by other users to vote and comment on.

Agency and Admin users can view all feedback submitted.

Public
Agency
Admin
Display My Feedback
Allows the public user to display feedback that the user created, has commented, or has voted on


Public
Display Agency Feedback
Allows the agency to display feedback tagged to it by an Admin user


Agency
Close Feedback
Allows the user to close an existing feedback


Primary Scenario
When the agency marks a feedback as resolved, the feedback owner will be notified to check and close the feedback. If the feedback status is not updated by the owner for three days, the admin will be notified to close the feedback.

Secondary Scenario
If the user closes the feedback before the agency marks it as resolved, the agency will be notified of the feedback status update that the feedback owner made.

Public
Agency
Delete Feedback
Allows the user to remove a feedback from the system


This function will not be used under normal circumstances and is only reserved for the admin to rectify errors.

Admin
Mark Feedback Resolved
Allows the user to mark a feedback as resolved


After resolving an issue posted by the public users, the agency will be able to use this function to inform them that it has been resolved and that the feedback should not be closed.

Agency
Vote on Feedback
Allows the user to express support to an existing ‘open’ feedback posted by another user


Feedback voted by public users will be displayed on their personalized wall feed (DIsplay My Feedback).

This also helps gauge public interest level on a given feedback, as the more people voting on a particular feedback would generally mean a higher public interest level to get the issue resolved. This in turn helps the agencies to prioritize on which issues to resolve first.

Public
Comment on Feedback
Allows the user to comment on an existing ‘open’ feedback


Users will be able to look at feedback entries posted by other users, and comment on them. This is useful when other users want to provide additional information on the feedback, ask questions to clarify anything regarding the feedback, or reply to a comment posted by another user on the feedback.

This also helps gauge public interest level on a given feedback, as the more people commenting on a particular feedback would generally mean a higher public interest level to get the issue resolved. This in turn helps the agencies to prioritize on which issues to resolve first.

Public
Agency
Admin
Agency Update
Allows the agency to post updates on the feedback


Agencies can post updates or document important details on a section that works like a bulletin board for other users to take note of. There is only one main body field to post and update the content.

Agency
Set Feedback Status
Sets and updates the status of feedback depending on the feedback progress


Feedback Status:

  1. New: Newly-created feedback defaults to this.
  2. In Progress: Tagged feedback defaults to this.
  3. Flagged as Resolved: Agencies can set status to this and inform user about it once issue is resolved for verification and closure.
  4. Resolved: Feedback that has been closed by either the feedback owner or admin.


When an agency requests for a feedback to be closed, the user who submitted the feedback will be notified to verify and close it. If the user does not respond within 3 days, the agency request will be forwarded to the admin for further actions.

If feedback owner closes a feedback before an agency requests it to be closed, the agency and admin will be notified on the feedback status update.

Public
Agency
Admin
Image
(iOS only)
Capture Image
Allows the user to take a photo with their iPhone and save it into their camera roll


Photos taken are instantly saved into the user’s iPhone camera roll, and the user can choose to use the captured image as one of the feedback image.

Public
Load Image
This allows the public user to bring up the camera roll library of the iPhone to select an image for creating the feedback.


This allows the public user to annotate the image with text and other freeform shapes like arrows and circles before they upload the image for the feedback.

Public
Annotate Image
Allows the user to annotate the image before upload


This allows the public user to annotate the image with text and other freeform shapes like arrows and circles before they upload the image for the feedback.

Public
Crop Image
Allows the user to crop an image to a fixed pre-determined resolution to optimize image viewing for feedback


The application will force the user to go through this cropping process for each image they intend to upload. This helps optimize the image for viewing on both web portal and mobile application, ensuring a consistent experience using the Public Feedback Platform.

Public
Upload Image
Allows the user to upload an image for a feedback


This allows the public user to upload an image for a feedback. The user can upload a total of five images for one feedback.

Public
Location Add Location Details
(iOS only)

Allows the user to add location details for the feedback


Location details will be separated into two fields:

  1. Location
  2. Detailed Location


Location details can be added in two ways:

  1. Input location details manually
  2. Use GPS to input a rough location


Detailed Location details can only be input manually by the user.

Public
Find My Location
(iOS only)

Allows the user to find his/her current location using the iPhone’s GPS and WiFi triangulation


Location retrieved via GPS and WiFi triangulation might not be accurate.

Public
View Location Map
Allows the user to look at a map with the location of the feedback pinpoint on it


This will help users to identify the location of the issue, for investigation, repair, and resolution purposes.

Public
Agency
Admin
Administrator
(Web only)
Assign Feedback
Allows the administrator to assign a feedback to agencies by tagging them


Admin will be notified when a public user posts a new feedback.
This function then allows the Admin to tag relevant agencies to the feedback for resolution.

Admin
Suspend User
Allows the administrator to suspend a user from the system


Suspended users will not be able to create, edit, or delete feedback.
They also cannot vote or comment on feedback.
They can only read feedback.

Admin
Delete User
Allows the administrator to remove a user from the system


An admin will be able to remove only a public user.

Admin
View Agency Information
Allows the administrator to view information on an agency


Admin can view the agency information to make judgement on how to assign or tag feedback.

Admin
Notification SMS Verification
(iOS only)

Sends a time-sensitive code to the user for registration purposes.


The system will send this code to public users when they register for a new account. This provides a two factor authentication (2FA) to ensure the validity of the public user.
The code will expire within five minutes for security purposes.

Public
Alert Notification


Alert Notifications are displayed to the user when they are actively using the system. Users must either be on the web portal or in the application on their iPhone in order to get notified.

For all users:

Normal Alert
Sends a notification alert to users to inform them of feedback status updates

Feedback status updates includes new comments and feedback notes posted, new votes as well as any changes to the feedback including priorities set by the agencies.

These alerts will only be sent to users who are affiliated or invested in the given feedback:

  • Public user: who have commented, voted, or is the one who posted the feedback
  • Agency: who are tagged to the feedback


For Public and Admin users:

Alert Public/Admin to close feedback
Sends a notification alert to public users and admin to close feedback that has been flagged as resolved by agencies

Alert notifications for feedback flagged as resolved by agencies will be first sent to the public user (feedback owner). If the owner does not respond in three days, the system will then alert the admin.

For Agencies:

Alert Agency of newly tagged feedback
Sends a notification alert to agencies to inform them a new feedback has been posted and tagged to them

Alert notifications for feedback flagged as resolved by agencies will be first sent to the public user (feedback owner). If the owner does not respond in three days, the system will then alert the admin.

Admin can view the agency information to make judgement on how to assign or tag feedback.

Public
Agency
Admin
Push Notification
(iOS only)

Sends a push notification alert to iPhone users


Push Notifications are displayed to the user even if they are not currently using the application.
They can be configured for specific alert notifications to tailor to individual user’s privacy and requirement.

Public
Reporting Export Report
Allows user to export list of feedback to an Excel or CSV format


The list of feedback is agency-specific.
Agencies will only be able to export the list of feedbacks they are tagged to.
Admin will be able to export the list of feedbacks of all agencies.

Admin