Skip to main content

AppSumo Specs - 2021

Existing JIRA tasks and MRs:

AppSumo Resources:

Requirements v.1.1:

  • Sign Up Screen [existing page: https://www.powr.io/users/sign_up?promo=true&src=appsumo]
    • URL should be https://www.powr.io/?src=appsumo&promo=true --- similar format to https://www.powr.io/?src=stackcommerce&promo=true from previous stackcommerce deal
      • Only AppSumo promo codes should work with this code input
      • User accounts created with an AppSumo code should have src = appsumo
      • When associating a code with a user id, it should be through the promo_codes table. There are already 10k codes with src = appsumo
    • Title of form changes from “Sign Up for Free” to “Sign Up with AppSumo Code”
    • Do not show “Have an account already? Sign In”
    • Do not show social logins - only email+password sign up
    • AppSumo Code Input appears below password, and above Sign Up Button
      • Label is “AppSumo Code (optional)”
      • Placeholder text is “Code”
    • Under Code Input is “+ Stack another AppSumo Code” button
      • Selecting this button adds an identical AppSumo Code input beneath the first one
      • Do not clear any entered form values when adding another code field
      • Can be selected any number of times, for a total of unlimited code inputs
      • AppSumo code validation occurs when the user selects “Sign Up”
      • Show the appropriate validation for each code input, in cases where there are multiple
      • If at least one code is entered, and another code input is blank - the form should successfully submit
      • No code(s)
        • “At least 1 AppSumo code must be used”
      • Incorrect code
        • “Incorrect code, code must include dashes and is case sensitive”
        • If a user enters a code for a non-appsumo discount, it will be considered incorrect
      • Code previously redeemed
        • “This code was previously redeemed. Use a different code or contact support”
      • Email address has existing account
        • “This email address is already associated with an account. Contact support for assistance”
    • When an account is created successfully with an AppSumo code, show a success toast message on users/me that says “Congratulations on activating your AppSumo Plan!”
  • My Account
    • For users that have at least 1 code associated with their account, users must be able to add more codes to their account (stacking additional codes)
      • Check
    • Under “My Account” in the sidebar, the bottom option should be “AppSumo Codes”
      • There will be a header “AppSumo Code Redemption”
      • There is a label “Codes Already Redeemed With This Account”
        • The codes that are already associated with the account are displayed here
        • These codes cannot be removed
      • There is an input with label “Redeem Another Code”
        • Placeholder text “Code”
        • Button to the right of input says “Add Code”
          • When the user adds the code, this section of the page refreshes. The code is now listed as the last code in the first section.
          • Validation occurs when the user selects “Add Code”
            • No code - “Enter a code to redeem”
            • Incorrect code - “Incorrect code, code must include dashes and is case sensitive”
            • Previously redeemed code - “This code was previously redeemed. Use a different code or contact support”
        • Once 10 codes are associated with the account, do not display the input or button
      • There is a static table of the AppSumo deal displayed at the bottom of this page. It will reflect the different limits unlocked with each # of codes, as outlined in this document: https://docs.google.com/document/d/1lA2porg2qutS4wXBfwIigNI83MA4x0fmm9AtnsvecQE/edit

User Stories

  • As a sumoling \ I want to create a new POWR Account \ So that I can use my new purchase from AppSumo \

  • As a sumoling that purchased multiple codes \ I want to redeem multiple codes when creating a new POWR Account \ So that I get the full features from stacking the codes I purchased \

  • As a sumoling that purchased multiple codes \ I want to redeem 1 or more codes after I have created a new POWR Account \ So that I get the full features from stacking the codes I purchased

Specs for previous version:

Background: We are doing a deal with AppSumo. Here is the flow:

  • User will see deal on AppSumo
  • They will purchase one or multiple codes on AppSumo and will be given a redirect url to POWR
  • On POWR they will see a screen to create an account and enter their promo code(s)
  • Upon entering a valid promo code, the user should automatically be upgraded to Business
  • A user needs to be able to stack codes.

Make sure Emilie and Teddy see this for QA

Scenario: We need to give AppSumo 10,000 unique codes in a CSV that can be redeemed on POWr. \ - Create a PromoCode model. Proposed schema: \ code (string), \ promo_level (string, set to ‘business’), \ Promo_duration (string, set to ‘lifetime’) \ src (string, set to appsumo) \ active: (boolean, set to true) \ timestamps \

  • Populate the DB with 10,000 unique codes (needs to be easy enough for someone to read / type in a code) \
  • Produce a CSV of the populated codes (from production) and send to Emilie.

\ Scenario: A user coming from AppSumo should see a modified sign up screen with a promo code input. \ WHEN a user visits www.powr.io/users/new?promo=true&src=appsumo \ THEN they should see a sign up screen with an option to insert a promo code below the password field. This box should say ‘AppSumo Promo Code’.

Scenario: A user coming from AppSumo should not see the social login option nad should see updated CTA button text..

WHEN a user visits www.powr.io/users/new?promo=true&src=appsumo

THEN they should see a sign up screen that DOES NOT include social login (Google, Facebook, Yahoo)

AND the CTA button should say ‘Sign Up’.

\ Scenario: A user visiting without promo=true parameter should NOT see promo code input. \ WHEN a user visits www.powr.io/users/new \ THEN they should NOT see a sign up screen with an option to insert a promo code below the password field

Scenario: A user with a valid promo code should be able to redeem their code once and receive lifetime access to POWr Business. \ GIVEN that a user has received a valid promo code \ WHEN they go to www.powr.io/users/new?promo=true&src=appsumo \ AND enter a valid promo code \ THEN they should have a free trial of business that expires in 10 years \

Scenario: A valid promo code should NOT be able to redeemed more than once. \ GIVEN that a user has already used a valid promo code \ WHEN they go to www.powr.io/users/new?promo=true&src=appsumo \ AND enter the same promo code \ THEN they should NOT get another trial of business \

Scenario: A user with an invalid promo code should not be able to receive lifetime access to POWr Business. \ GIVEN that a user does NOT have a valid promo code \ WHEN they go to www.powr.io/users/new?promo=true&src=appsumo \ AND enter a FAKE promo code \ THEN they should NOT have any free trial \ AND they should see a message “Code is not valid. Please try again or contact [email protected]” \ \ Scenario: A user that signs up with a valid promo code should see a toast notification that welcomes them to POWr Business. \ GIVEN that a user has received a valid promo code \ WHEN they have signed up using that code \ THEN they should see a green toast notification on users/me screen welcoming them to POWr Business. Use simple copies for this text that say ‘Thank you for activating your AppSumo lifetime Business plan. You have unlimited access to all plugins and all Business plan features 🎉’.

Scenario: A user has signed up using a unique code they purchased on AppSumo giving them lifetime Business access. When they log in, they should see a toast notification in users/me that welcomes them to POWr Business. \ GIVEN that a user has purchased the lifetime Business promo on Appsumo \ WHEN they log in for the first time using our Appsumo redemption login screen (see PM‌-5554 ) \ THEN they should see a toast notification that is just for Appsumo sign ups (Marketing to provide simple copies).

Scenario: A user has redeemed their Appsumo promo and has installed their first app. When they get to the Feedback page, if they click 'Yes' to leave a review, they should be redirected to the Appsumo promo page to leave a review, no matter what platform they selected for the install tutorial (we will need to override the platform selection). \ GIVEN that a user signed up to POWr using an Appsumo promo code and has reached the Feedback step \ WHEN they click 'Yes' to leave feedback \ THEN they will be redirected to the Appsumo promo landing page to leave a review. \ \ ^ Tech note: This can be done based on the User.src attribute which should automatically be set when the user signs up. If this is not available on the front end, add it to as_json method in user.rb model. \ \

Scenario: A user has redeemed their Appsumo promo, installed their app, given feedback and should then land on the Recommended page that shows them recommended apps for their platform. \ GIVEN that a user signed up to POWr using an Appsumo promo code and has installed and reviewed their app \ WHEN they reach the final onboarding page \ THEN they should ALWAYS see a 'Recommended apps' page \ AND never see the Rewards page.