Accomplishments

Android

  1. Map
    1. Display map of user's current area.
    2. Send current position to database and receive coupon information.
    3. Add icons based on information received from database to map.
    4. Touching these icons will reveal a vague description of the coupon and the steps required.
  2. Coupon
    1. A list of available coupons in the surrounding area can be viewed instead of icons on the map.
    2. Coupons can be redeemed using accumulated steps.
    3. After successfully redeeming a coupon, it will be added to the user's account and a detailed description of the coupon will be revealed.
    4. This coupon can be shown to the stores to scan or enter the code and the store will need to press a button to invalidate the coupon.
  3. Account
    1. User can create an account.
    2. User can log in with their credentials.
    3. After logging in, the user can view their used and unused coupons.
  4. Pedometer
    1. While moving with the device, the user's steps are counted.
    2. The amount of calories burned while walking can be viewed.
  5. ZXing integration
    1. Using the camera, the user can take a picture of a QR code at participating locations to get their current position.
    2. This is effective for internal locations where it will be difficult to get the current position through other means.

Database

The database stores all information that will be used by the application. It consists of:

  1. User
    1. Username
    2. First name
    3. Last name
    4. Password
    5. Steps
  2. Coupon
    1. ID number
    2. Barcode number
    3. Store name
    4. Hidden description
    5. Real description
    6. Steps required
    7. Start date
    8. End date
    9. Category
    10. Latitude
    11. Longitude
  3. Possesses
    1. Username
    2. ID number
    3. Used

Database Scripts

  1. Get coupons in area
    1. This script is responsible for sending coupon information in a certain area based on the position.
    2. Input:
      1. Latitude
      2. Longitude
    3. Output:
      1. All coupons in a half mile radius.
  2. Get coupon
    1. This script is responsible for sending information for a single coupon based on ID.
    2. Input:
      1. Coupon ID
    3. Output:
      1. All information corresponding to that coupon.
  3. Redeem
    1. This script is responsible for adding a coupon to the user's account.
    2. Input:
      1. Username
      2. Coupon ID
    3. Output:
      1. Success or failure
  4. Get user
    1. This script is responsible for getting the user's information.
    2. Input:
      1. Username
      2. Password
    3. Output:
      1. Success will return all information associated with that user.
      2. Failure will return nothing.
  5. Invalidate
    1. This script is responsible for invalidating the user's coupon.
    2. Input:
      1. Username
      2. Coupon ID
    3. Output:
      1. Success or failure

Website

The website allows registered users to review and perform changes to their account. The functions available to users are:
  1. Login
  2. Check account
    1. The user is able to review the following information:
      1. Username
      2. First name
      3. Last name
      4. Steps
  3. Coupon record
    1. The user is able to filter the coupon record by:
      1. Category
      2. Used
    2. The user is able to perform a text search by store name.
  4. Change password
  5. Logout