-
Notifications
You must be signed in to change notification settings - Fork 5
Use Cases
evhill edited this page Nov 30, 2015
·
53 revisions
| 1. CreateAccount |
|
Participating Actors: User Goal: User creates an account on the app. Trigger: Opens up an unconfigured app Precondition: User does not have an account Postcondition: User has an account |
Basic Flow:
1. User opens app. 2. System prompts user to input a username and email. 3. User inputs string for username. 4. User inputs string for email. 5. System creates account. |
Exceptions:
3. Username is already taken or contains profanity 3.1 System prompts user for new username |
| Qualities: The account is created quickly with all relevant information. |
| Constraints: None |
| 1. AddSkillz |
|
Participating Actors: User, System Goal: User can add skillz to their inventory from the system database. Trigger: Select ‘Add Skill’ on the inventory. Precondition: The User must have connected online to the database at least once. Postcondition: The User’s inventory of skills is modified to reflect desired changes. |
Basic Flow:
1. User selects “Skills” from the main menu. 2. System returns scrollable list of all skillz. 3. User selects skill they would like to add to their inventory. 4. System returns description of skill 5. User selects the “Add Skill” button. 6. Skill is added to the User’s inventory. |
| Exceptions: None |
| Qualities: System should respond within 2 seconds. |
| Constraints: A User must have accessed the public database with internet connectivity at least once to add a skill. |
| 2. RemoveSkillz |
|
Participating Actors: User, System Goal: User can remove skills from their inventory. Trigger: Select ‘Remove Skill’ in the skill description. Precondition: The User must have connected online to the database at least once and have a skill. Postcondition: The User’s skill is removed. |
Basic Flow:
1. User selects “Profile” button from the navigation bar. 2. System returns the user's profile 3. User selects "Inventory" button 4. System returns a scrollable list of all skillz. 5. User selects undesired skill. 6. System returns the skill description. 7. User selects “Remove Skill” button. 8. Skill is removed from inventory. |
| Exceptions: None |
| Qualities: System should respond within 2 seconds. |
| Constraints: The User must have at least once skill to remove. |
| 3. ModifySkillDetails |
|
Participating Actors: User, System Goal: User will be able to modify the details of the skills in their inventory. Trigger: Select “Edit Skill” Precondition: User must have at least one skill on their profile. Postcondition: The skill a User edits has persistent changes. |
Basic Flow:
1. User navigates to “Profile”. 2. User selects "User Inventory" button 4. System returns a scrollable list of all skillz. 5. User selects desired skill to edit. 6. System returns skill description page. 7. User presses "Edit" button. 8. System returns edit skill page. 9. User inputs a new skill name. 10. User inputs a new skill description. 11. User selects a new category. 12. User takes a new picture. 13. User selects a new quality of skill. 14. System saves all new fields. |
| Exceptions: None |
| Qualities: Text should immediately appear in the editable text boxes. The camera should open within 2 seconds. The radio buttons should show feedback immediately. |
| Constraints: Length of text for descriptions is at most 250 characters. The skill name is at most 30 characters. |
| 4. ExamineSkills |
| 5. ChangeSkillVisibility |
|
Participating Actors: User, System Goal: User is able to set the visibility of skills on their profile while maintaining tradability of skill Trigger: Select “Edit” from viewing the skill in their inventory Precondition: Has a skill to set the visibility of. Postcondition: The visibility changes are immediate and the skill is or is not viewable by other Users. |
Basic Flow:
1. User selects “Profile” 2. User selects “User Inventory” 3. User selects specific skill they wish to edit 4. User selects "Edit" button 5. System returns an editable view of this User’s skill. 6. User unchecks the “Visible” checkbox. 7. User selects "Save Changes" 8. System updates the skill so it is not viewable to other users. 7. Skill is now invisible to other Users. |
| Exceptions: None |
| Qualities: Skills are immediately invisible to other Users, or will update the friend’s ‘view’ of the User’s skills immediately once they navigate away from the User’s skill list. |
| Constraints: Skills marked as ‘invisible’ may still be used in private trades. Friend may not select a skill to trade that was marked invisible while they were viewing the User’s inventory. |
| 6. SortSkillsByCategory |
|
Participating Actors: User, System Goal: User skills are organized by category for easy discovery Trigger: User adds a skill to their inventory Precondition: User has an account, User adds a skill to their inventory Postcondition: Inventory is arranged by type . |
Basic Flow:
1. User begins in the main screen by pressing the "Home" button or by
opening the app.
2. User selects "Skillz" button
3. System returns a scrollable list of skills
4. User selects the "Name" drop-down menu and chooses "Category".
5. System sorts the skills by alphabetical category.
|
| Exceptions: None |
| Qualities: System sorts the list of skills by alphabetical category. |
| Constraints: User must have at least one skill in their inventory to organize. Or there must be at least one skill in the database to sort. |
| 7. SearchSkillsByCategoryOrText |
|
Participating Actors: User, System Goal: User is able to easily search for relevant skills either by sorting by category or textual query. Trigger: Select “Category” or “Enter Text” in either “Browse Skills” or “Inventory” Precondition: Has a skill on their profile Postcondition: List of skills is ordered by desired category |
Basic Flow:
1. Selects “Browse Skills” or “Profile" and "Inventory”
2. User selects a “Category” from the drop-down menu.
3. System removes all but the skills related to the desired category.
4. List of skills is now presented by relevancy to User.
5. User highlights the "Search Query" text box available in “Browse Skills”
or “Inventory”
6. User inputs string of desired skill
7. System returns list of skills relevant to the input string.
|
| Exceptions: None |
| Qualities: System should respond within two seconds to User constraints. |
| Constraints: User must have at least one skill in profile to sort their inventory, either by category or text query. User must have accessed the database with internet connectivity at least once. |
| 8. CloneSkills |
|
Participating Actors: User A, User B, System Goal: User A is able clone User B's skills if they have them. They may make modifications. Trigger: Select “Add Skill” while viewing another user's inventory Precondition: User B a skill on their profile Postcondition: Skill is clones to inventory |
Basic Flow:
1. User A selects "Users"
2. System returns a list of users.
3. User A selects User B.
4. User A selects User B's "Inventory."
5. User A selects a skill in User B's inventory
6. User A selects "Add skill"
7. System adds the skills to User A's inventory.
8. User A may now edit the skill following the "3. ModifySkillDetails" use
case.
|
| Exceptions: None |
| Qualities: System should respond within two seconds to User constraints. |
| Constraints: User B must have at least one skill in inventory for User A to clone. User must have accessed the database with internet connectivity at least once. |
| 1. AddFriend |
|
Participating Actors: User A, User B, System Goal: Able to add friends Trigger: Select “Add Friend” selected Precondition: Connection to internet and currently viewing a profile of a non-friend Postcondition: New Friend is added and list of User’s friends is updated |
Basic Flow:
1. User A selects "Users" button from main page 2. System returns list of users. 3. User A selects user B from the list 4. System returns user B's profile. 5. User A selects “add friend” 6. System updates Users A’s list of “My Friends” 7. User A can make a trade request to User B now 8. System updates "add friend" button to be "remove friend" |
| Exceptions: None |
| Qualities: System should respond within two seconds to User constraints. |
| Constraints: None |
| 2. RemoveFriend |
|
Participating Actors: User A, User B, System Goal: Able to remove friends Trigger: Select “Remove Friend” in Profile of friend selected Precondition: Connection to internet and currently viewing a profile of a friend Postcondition: Friend is removed from User's friend list and User can no longer make trade requests to them |
Basic Flow:
1. User A is viewing profile of User B 2. User A selects “remove friend” 3. System updates Users A’s list of “My Friends” 4. User A can no longer initiate a trade request with User B |
| Exceptions: None |
| Qualities: System should respond within two seconds to User constraints. |
| Constraints: User must have at least one skill in profile to sort their inventory, either by category or text query. User must have accessed the database with internet connectivity at least once. |
| 3. SetLocationContactInfo |
|
Participating Actors: User Goal: User is able to change their contact information Trigger: User selects “Settings” from the menu bar Precondition: User must have an internet connection Postcondition: On success, the User has changed location and contact details. |
Basic Flow:
1. User selects “Settings” from the menu bar. 2. System returns the settings screen. 3. User inputs a new string into the "City" field 4. User inputs a new string into the "Email" field 5. User selects "Save Changes" 4. Contact information is updated |
Exceptions:
none |
| Qualities: Changes should be made within 2 seconds. |
| Constraints: Users must have internet connectivity and be logged in. Location verification for valid entries that exist only are allowed. |
| 4. BrowseUsersOrFriendsProfile |
|
Participating Actors: User Goal: Able to browse the profiles of other users including friends Trigger: User selects “Browse Users” Precondition: User must have an internet connection Postcondition: User can scroll through and view all profiles of other Users |
Basic Flow:
1. User selects “Browse Users” 2. All User names are now displayed 3. User selects individual Users to view profile |
| Exceptions: None |
| Qualities: System should respond within 2 seconds. |
| Constraints: Users must have internet connectivity |
| 1. BrowseFriendInventory |
|
Participating Actors: User, Friend(Another User) Goal: To browse the inventories of friends Trigger: Press ‘Inventory’ in a friend’s profile Precondition: Have an account. Have a friend. Postcondition: See all of a friend’s publicly visible skills |
Basic Flow:
1. User presses "Friends" button on main screen or on "Profile" 2. System returns a list of friends 3. User selects a friend. 4. User presses "Inventory" 5. System displays that friend’s inventory 6. A scrollbar allows the User to view all their friend’s skills 7. A friend’s inventory has been browsed |
| Exceptions: None. (A friend must have an account, which must have an inventory) |
| Qualities: System responds within two seconds for an inventory. |
| Constraints: A User must have a friend. A friend must have publicly available skills for them to be viewed. |
| 2. FilterFriendInventoryByCategory |
|
Participating Actors: User, Friend(Another User) Goal: To browse/filter Friend’s inventory by category Trigger: Select ‘category’ in the drop-down menu Precondition: User is currently viewing Friend’s inventory Postcondition: Friend’s skills will be filtered by category |
Basic Flow:
1. User selects "Friends" button on main menu. 2. User selects "Inventory" on the friend's profile. 2. Select a desired "category" from the "All" drop-down menu 2. System removes all non-pertinent skills from the viewing area 3. Friend’s inventory is now filtered by category |
| Exceptions: None. |
| Qualities: System filter response should be immediate, as all pertinent skill data was already available |
| Constraints: Use only Friend’s publicly available skills. . |
| 3. FilterFriendInventoryByText |
|
Participating Actors: User, Friend(Another User) Goal: To browse/filter Friend’s inventory by text query Trigger: Enter a String in the search box Precondition: User is currently viewing Friend’s inventory Postcondition: Friend’s skills will be filtered by a string |
Basic Flow:
1. User selects "Friends" button on main menu. 2. Select a friend. 3. User selects "Inventory" on the friend's profile. 4. Enter a String in the search box 5. System removes all non-matching skills from the viewing area 6. Friend’s inventory is now filtered by text |
| Exceptions: None. |
| Qualities: System filter response should be immediate, as all pertinent skill data was already available |
| Constraints: Use only Friend’s publicly available skills. . |
| 4. TopTrader |
|
Participating Actors: User Goal: User can see friends and users who are top-traders. Top traders are users with the most successful (current, in-progress, and complete) trades. Trigger: Select browse users from main screen Precondition: none Postcondition: Users are by default listed by order of Top Traders |
Basic Flow:
1. User presses "Users" from main menu 2. User selects "Top Traders" from the "Name" drop down menu |
| Exceptions: None |
| Qualities: None. |
| Constraints: Top Traders must have permitted their profiles to be publicly viewable to be displayed if not on the current User’s friend list. |
| 1. InitiateTradeWithFriend |
|
Participating Actors: User, Friend of user Goal: User initiates a trade with one of their friends, consisting of zero to many of their own skills and and at least one of their friend's skills. Trigger: Select “Start trade” from a friend’s profile or inventory. Precondition: User must have an existing account and be logged in. User must have at least one friend. Postcondition: On success, a new trade request is initiated with the selected friend and skills. |
Basic Flow:
1. User selects "Friends" button on main menu.
2. Select a friend.
2. User selects "Inventory" on the friend's profile.
1. User clicks the “Start trade” button
2. System prompts the user to select 0 or more of their skills to trade
3. User does or does not select a skill
4. System prompts the user to select at least one of the friend’s skills
to trade for.
5. User selects 1 or more skills
6. System creates trade request
|
Exceptions:
2. Friend has no skills 2.1 System notifies the user that their friend has no skills and cannot trade 2.2 System leaves trading mode |
| Qualities: Interface for selecting multiple skills should be intuitive. System should respond immediately since it will send the information to the server in the background once possible. |
| Constraints: User must have skills in order to initiate a trade |
| 2. NotifiedOfTradeRequest |
|
Participating Actors: User, Friend of user Goal: User is notified of any trade initiated with them by a friend Trigger: A friend initiates a trade with a user Precondition: User must have an existing account and be logged in. User must have a friend. Postcondition: The user has been notified of the trade request. |
Basic Flow:
1. Friend of user initiates a trade with user 2. System notifies user of trade request 3. User feels notified |
| Exceptions: None |
| Qualities: Notifications should be sent the next time the user is online if they currently are not. |
| Constraints: None |
| 3. AcceptTradeRequest |
|
Participating Actors: User, Friend of user Goal: User accepts a trade request. Trigger: A user clicks the “Accept” button while viewing a trade. Precondition: User must have an existing account and be logged in. User must have a friend. User must have had a trade initiated with them. User must be online. Postcondition: The user has accepted a trade request. |
Basic Flow:
1. User selects "Trades" Button on main menu 2. System returns a list of trades that are active or inactive. 3. User selects a trade. 4. User clicks “Accept” button. 5. System confirms that trade has been accepted by the user. 6. System returns to previous screen. |
| Exceptions: None |
| Qualities: Notification should be dismissable, but remain persistent in the background until deleted. |
| Constraints: None |
| 4. DeclineTradeRequest |
|
Participating Actors: User, Friend of user Goal: User declines a trade request. Trigger: A user clicks the “Decline” button while viewing a trade. Precondition: User must have an existing account and be logged in. User must have a friend. User must have had a trade initiated with them. User must be online. Postcondition: The user has declined a trade request. |
Basic Flow:
1. Follow the steps of "3. AcceptTradeRequest" use case until
step 3.
1. User clicks “Decline” button.
2. System confirms that trade has been declined by the user.
3. System returns to previous screen.
|
| Exceptions: None |
| Qualities: None |
| Constraints: None |
| 5. CounterTradeRequest |
|
Participating Actors: User, Friend of user Goal: User creates a counter offer for a trade request. Trigger: A user clicks the “Counter offer” button while viewing a trade. Precondition: User must have an existing account and be logged in. User must have a friend. User must have had a trade initiated with them. User must be online. Postcondition: The user has created a counter offer for a trade request. |
Basic Flow:
1. Follow the steps of "3. AcceptTradeRequest" use case until
step 3.
4. User clicks “Counter offer” button.
5. Systems shows the user the Edit Skill page.
5. System allows the user to select zero or more of their skills to
use as a counter trade
6. User picks zero or more of their skills, and at least one of Friend's
skills.
7. User selects "Send Trade" button.
7. System confirms that counter offer has been created.
|
| Exceptions: None |
| Qualities: None |
| Constraints: None |
| 6. DeleteActiveTradeRequest |
|
Participating Actors: User, friend of user Goal: User deletes a trade they initiated with a friend Trigger: A user clicks the “Delete” button while viewing a trade which is currently in progress. Precondition: User must have an existing account and be logged in. User must have a friend. User must have had a trade initiated with them. User must be online. Postcondition: The trade offer is deleted from the user’s account, as well as from the friend’s account. |
Basic Flow:
1. User clicks "Trades" button from main screen. 2. User selects a trade they have made 3. User clicks “Delete” button 4. System deletes trade 5. System informs user that trade was deleted. |
| Exceptions: None |
| Qualities: None |
| Constraints: None |
| 7. EditActiveTradeRequest |
|
Participating Actors: User, friend of user Goal: User edits a trade they initiated with a friend Trigger: A user clicks the “Edit” button while viewing a trade which is currently in progress. Precondition: User must have an existing account and be logged in. User must have a friend. User must have had a trade initiated with them. User must be online. Postcondition: The trade offer is edited in the user’s account, as well as updated in the database and the friend’s account. |
Basic Flow:
1. User clicks "Trades" button from main screen.
2. User selects a trade they have made
3. User clicks “Counter Offer” button while viewing a trade
4. System opens view where user can change skills proposed for trade
5. User optionally makes changes to trade
6. User clicks “Send trade” button
7. System updates trade, saving the new version in the database and
updating the trade on the friend’s profile as well.
|
Exceptions:
4. User cancels edits by returning to the home screen 4.1. System returns to previous screen without modifying trade |
| Qualities: None |
| Constraints: None |
| 8. SuccessfulTradeRequest |
|
Participating Actors: User, friend of user Goal: Both users involved in a trade are notified when they both accept. Trigger: Both users involved in a trade accept the trade. Precondition: User must have an existing account and be logged in. User must have a friend. User must have had a trade initiated with them. User must be online. Postcondition: User has been notified of the accepted trade. |
Basic Flow:
1. System notifies user that a trade has been accepted by both users
involved.
2. Details of the trade are emailed to both users.
|
| Exceptions: None |
| Qualities: If the user is not online when the friend accepts the trade, they will be notified when they are next online. |
| Constraints: None |
| 9. BrowseTradeHistory |
|
Participating Actors: User Goal: User browses all past and current trades involving them Trigger: User clicks “View trades” button on the main menu. Precondition: User must have an existing account and be logged in Postcondition: The user has seen a list of their past and current trades. |
Basic Flow:
1. User selects "Trades" from the main screen
2. System displays a list of all past and current trades, starting with
current trades. Trades are shown as active or inactive.
3. User views list
|
Exceptions:
1. User has no trades 1.1 System does not s |
| Qualities: None. |
| Constraints: None |
| 10. Borrowing |
|
Participating Actors: User (owner of skill) Goal: User can set a trade to complete when the borrower has received the skill and the trade is complete Trigger: Select “complete” in the current trade screen Precondition: The User must have an existing trade Postcondition: Trade is now marked as complete |
Basic Flow:
1. User presses ‘Edit Trade’ 2. User presses ‘complete’ 3. System updates trade status |
Exceptions:
2. Trade already complete |
| Qualities: None. |
| Constraints: Users must have internet connectivity for this change to be updated for both users to see. |
| 1. DisablePhotoDownloads |
|
Participating Actors: User Goal: Disable photo downloads and manually choose inventory photos to download. Trigger: Turn automatic photo downloads “Off” in profile Precondition: User must have an existing account and be logged in. Postcondition: On success, inventory photos have individual button options on them to download. |
Basic Flow:
1. User clicks on “Settings” from main screen 2. User switches automatic photo downloads off 3. User clicks "Save Changes" 3. System no longer automatically shows images |
| Exceptions: None |
| Qualities: Must be persistent |
| Constraints: None |
| 2. ActionsForPhotos |
|
Participating Actors: User Goal: Attach/View/Delete/Retake photo of a skill Trigger: Click on the photo of a skill Precondition: User must have an existing account and be logged in. A skill must be visible. Postcondition: On success, the photo is replaced/enlarged/gone. |
Basic Flow:
1. User navigates to either the "Create a skill" or "Edit Skill" page
2. User selects the "Take Photo" button
3. User takes a photo with the photo app and either accepts or declines
the photo and retakes the photo.
4. System shows the photo on the page.
5. User clicks on a skill photo
6. System displays a small photo on the side bar.
7. User selects ‘Delete’ icon
8. System removes photo
9. User selects ‘Retake’
10. System opens a photo app
11. User takes a photo
12. System displays new photo
|
| Exceptions: None |
| Qualities: Other User’s photos of skillz must load within 5 seconds. Uploaded photos should be persistent (stored in database) |
| Constraints: Photo must be under 64KB |
| 1. InventoryChangesOffline |
|
Participating Actors: User Goal: Make inventory changes while offline that will be pushed the next time they are online Trigger: The internet was just made available to this app Precondition: Inventory changes were made while offline Postcondition: The external database is up-to-date with the User’s changes |
Basic Flow:
1. User makes an inventory change following steps of “Add/Remove” use case 2. The system recognizes an internet connection 3. The system pushes changes to the database 4. The external database is up-to-date with the User’s changes |
| Exceptions: None |
| Qualities: Should occur as quickly as possible, before any other internet interactions |
| Constraints: Can only occur when the internet is available |
| 2. TradeRequestsOffline |
|
Participating Actors: User Goal: Able to make trade requests while offline that will be sent to another User when online Trigger: User creates a trade request, the internet is made available Precondition: Has a friend to trade with. Postcondition: A trade request is stored until internet connectivity |
Basic Flow:
1. User initiates a trade with a friend following steps of “Trade with
Friend” use case
2. The trade request is stored until the system recognizes an internet
connection
3. The system pushes changes to the database
4. The external database is up-to-date with the User’s changes
|
| Exceptions: None |
| Qualities: Trade request needs to be submitted to the friend as soon as internet connectivity is reached. |
| Constraints: The User has viewed a friend’s inventory at least once while connected to the internet. |
| 3. BrowseFriendOffline |
|
Participating Actors: User Goal: Able to browse the inventories of friends that they previously looked at while offline. Trigger: User has logged out and enter a friend’s name they have loaded the inventory for previously in the search bar. Precondition: Inventories of friends were looked as and browsed and stored in memory Postcondition: No changes or initial trade offers can be made until online again |
Basic Flow:
1. Enter a friend name in the search box 2. Friend’s profile is now displayed at the same state it was last viewed at 3. Press the ‘Inventory’ tab in a friend’s profile 4. Inventory of all of friend’s skills is now displayed |
Exceptions:
1. Friend name not found 1.1 System displays error 1.2 System stays at step 1 |
| Qualities: Should occur as quickly as possible, before any other interactions |
| Constraints: Can only occur if the friend’s profile and inventory has previously been viewed and stored in memory |
| 1. ConfigureProfileDetails |
|
Participating Actors: Profile(primary), User Goal: The User can change email contact info Trigger: Press "Settings" menu button Precondition: The User must have an existing account Postcondition: On success, the User has a new email. |
Basic Flow:
1. User selects "Settings" from the menu bar 2. User inputs a new string for the email. 3. User selects "Save Changes" 4. E-mail is changed |
| Exceptions: None |
| Qualities: System responds immediately and all changes are persistent, whether online or not. |
| Constraints: Must eventually update the main User database. . |
We've chosen Top Traders and Cloning instead of Geolocation
| 1. Default Geolocation |
|
Participating Actors: User Goal: User can have a default geolocation (Lat/Long) that will be assigned to their skills Trigger: Add a new skill Precondition: The default location is set up in profile Postcondition: Any added skills have a default location assigned |
Basic Flow:
1. User presses ‘Edit Profile’
2. User selects ‘edit geolocation’’
3. User enters their geolocation in Lat/Lon format that will also be assigned
to their skills.
4. User returns to profile
5. User selects “inventory” from their profile
6. User selects “add new skilll”
7. User inputs skill details, but no location
8. User presses “save”
9. System assigns default location to each new skill
|
Exceptions:
3. Geolocation format incorrect |
| Qualities: None. |
| Constraints: Users must have internet connectivity for this change to be updated for both users to see. |
| 2. Specific Geolocation |
|
Participating Actors: User Goal: User can specifically edit the geolocation of each individual skill for trade Trigger: Select “location” in the screen for the specific skill Precondition: The Skill must already exist and have a default location Postcondition: The Skill geolocation is updated |
Basic Flow:
1. User presses ‘Edit Skill’ 2. User selects ‘location’’ 3. User enters new geolocation in Lat/Lon format 4. System updates the Skill location |
Exceptions:
3. Geolocation format incorrect |
| Qualities: None. |
| Constraints: Users must have internet connectivity for this change to be updated for both users to see. |
| 3. GPS Geolocation |
|
Participating Actors: User Goal: User can use the GPS to determine their geolocation. Trigger: Select “get my location” in the search screen for skills Precondition: GPS must be turned on Postcondition: The User’s current geolocation is returned at the top of the screen |
Basic Flow:
1. User presses ‘Browse Skills’ from main menu 2. User selects ‘get my location’’ 3. System updates the user location at the top of the screen |
Exceptions:
2. GPS not enabled. |
| Qualities: None. |
| Constraints: Users must have allowed GPS to access their location |
| 2. GPS Search |
|
Participating Actors: User Goal: User can search for items near my current location (GPS or Lat/long) Trigger: Select location in the drop down refine menu in the search screen for skills Precondition: GPS must be turned on and airplane mode turned off Postcondition: The skills closest to User location are listed at the top of the list |
Basic Flow:
1. User presses ‘Browse Skills’ from main menu 2. User selects ‘refine’ drop down menu 3. User selects ‘location’ from the options 4. System displays skills ordered by closest location to user’s location |
Exceptions:
3. GPS not enabled. |
| Qualities: None. |
| Constraints: Users must have allowed GPS to access their location |
In an attempt to seem cool, we replace 's' with 'z'
Have you ever wanted to learn new things? Have you ever wanted something hard done for you by a complete stranger?
Well, this app is for you!
##PERKS
- Free signup for those aged under 100!
- A FANTASTIC trading system; complete with offering and requesting!
- Some things are just too hard, why don't you delegate them to others?
- Feeling bored? Why don't you offer your services? (and learn something new!)
- A rating system for those people who lie about their skillz!
Life yourLife = new Life();
yourLife.add(new Skillz(), 'Pizazz');
assertTrue(yourLife.isComplete() == TRUE);
#YES!