Difference between revisions of "IS480 Team wiki: 2014T1 Team Epsilon Documentation"
Line 26: | Line 26: | ||
{|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>Design Overview</b></font>]] | ||
+ | |||
+ | | style="border-bottom:4px solid #000000; border-top:4px solid #000000; background:none;" width="1%" | | ||
+ | | 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%" | | | style="border-bottom:4px solid #000000; border-top:4px solid #000000; background:none;" width="1%" | | ||
Line 43: | Line 46: | ||
<!-- Start Content --> | <!-- Start Content --> | ||
− | == '''Architecture | + | == '''System Architecture''' == |
<center> | <center> | ||
[[Image: Architecture_Diagram_Epsilon.png|1100px]] | [[Image: Architecture_Diagram_Epsilon.png|1100px]] | ||
</center> | </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. | ||
+ | |||
+ | |||
+ | {|style="margin: 0 left;" | ||
+ | | [[Image: ERD_Epsilon_Acceptance.png|thumb|220px|upright|ERD Version #1]] | ||
+ | |} | ||
== '''Use Case Diagram''' == | == '''Use Case Diagram''' == | ||
Line 299: | Line 322: | ||
Admin will be able to export the list of feedbacks of all agencies. | Admin will be able to export the list of feedbacks of all agencies. | ||
|| Admin <br/> | || Admin <br/> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|} | |} |
Revision as of 06:04, 7 October 2014
Home | Project Overview | Project Management | Documentation | Team |
Design Overview | Use Case | Prototype | User Testing | Meeting Minutes | Submission Archive |
Contents
System Architecture
MVC Application Layer Architecture
E-R Diagram
Created in accordance with the Rails convention
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.
Use Case Diagram
Use Case Description
Module | Function | Description | User |
---|---|---|---|
Account | Login/Log Out | Allows the user to login to the system Normal Login/Log Out
Facebook Login
|
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.
Facebook Registration
|
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:
|
Public |
Display All Feedback | Allows the user to display all the feedback
|
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
|
Public Agency | |
Delete Feedback | Allows the user to remove a feedback from the system
|
Admin | |
Mark Feedback Resolved | Allows the user to mark a feedback as resolved
|
Agency | |
Vote on Feedback | Allows the user to express support to an existing ‘open’ feedback posted by another user
|
Public | |
Comment on Feedback | Allows the user to comment on an existing ‘open’ feedback
|
Public Agency Admin | |
Agency Update | Allows the agency to post updates on the feedback
|
Agency | |
Set Feedback Status | Sets and updates the status of feedback depending on the feedback progress
|
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
|
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.
|
Public | |
Annotate Image | Allows the user to annotate the image before upload
|
Public | |
Crop Image | Allows the user to crop an image to a fixed pre-determined resolution to optimize image viewing for feedback
|
Public | |
Upload Image | Allows the user to upload an image for a feedback
|
Public | |
Location | Add Location Details (iOS only) |
Allows the user to add location details for the feedback
|
Public |
Find My Location (iOS only) |
Allows the user to find his/her current location using the iPhone’s GPS and WiFi triangulation
|
Public | |
View Location Map | Allows the user to look at a map with the location of the feedback pinpoint on it
|
Public Agency Admin | |
Administrator (Web only) |
Assign Feedback | Allows the administrator to assign a feedback to agencies by tagging them
|
Admin |
Suspend User | Allows the administrator to suspend a user from the system
|
Admin | |
Delete User | Allows the administrator to remove a user from the system
|
Admin | |
View Agency Information | Allows the administrator to view information on an agency
|
Admin | |
Notification | SMS Verification (iOS only) |
Sends a time-sensitive code to the user for registration purposes.
|
Public |
Alert Notification |
|
Public Agency Admin | |
Push Notification (iOS only) |
Sends a push notification alert to iPhone users
|
Public | |
Reporting | Export Report | Allows user to export list of feedback to an Excel or CSV format
|
Admin |