Skip to content

User Stories

Dechon edited this page Aug 12, 2021 · 13 revisions

Build Forms

Create Custom Forms

  • As a logged in user, when on the home page, I would like to be able to navigate directly to a /forms/create page to begin constructing my own custom form.
    • On the /forms/create page, I can add, remove, and customize form elements to my liking so that I can create the form that I need.
      • When I'm satisfied with the form that I have created, I would like to be able to click a "Create Form" button so that my finished form can be saved and published.

View Created Forms

  • As a logged in user that has created a form, I would like to be able to navigate to a /forms page so that I can see an overview of the various forms that I have published.
    • From the /forms page, I want to be able to click on one of my published forms for more detailed information about that form including form result data, and a link to a /users/forms/<form-name> so I can see a preview of what my form looks like to users filling it out.

Edit Created Forms

  • As a logged in user that has created a form and is on the /forms page, I want to be able to click on one of my forms from the overview so that it will take me to a /build/<int:form-id> page so that I can edit my form.
    • When the /build/<int:form-id> page loads, I want all of the currently existing data about the form to load in automatically, so that I can only make changes to what I have already done.
      • When I'm done making my changes to the form, I want to be able to click on a "Save Form" button so that I can republish my changed form.

Delete Created Forms

  • As a logged in user that has created a form and is on the /users/forms/<form-name> page, I want there to be a button located on the page for me to delete my form so that I can remove it if I no longer have use for it.
    • When I delete one of my forms, I want all of the associated data that was collected from that form to be automatically deleted.

Build various question types

Create form elements

  • As a logged in user, when I'm on the /build-new-form page:
    • I want to be able to click buttons on the webpage that will then render the form element on the page.
      • I will have the options to create a custom form element or the option to create a pre-made form element i.e. Date of Birth

Read Form Elements

  • As logged in user, when I'm on the /build-new-form page:
    • Form elements will be displayed to the right of the element creation buttons in an organized manner, ordered from oldest created at the top to newest at the bottom

Update Form Elements:

  • As logged in user, when I'm on the /build-new-form page:
    • Pieces of the form elements I currently have displaying can be edited by clicking on them
      • Such as if I click the title of that form element I can change it from 'first-name:' to 'First Name:'

Delete Form Elements:

  • As logged in user, when I'm on the /build-new-form page:
    • I can click a delete button from a form element on my editable form and it will be removed from the form.

Share Forms

  • As a logged in user, I would like to be able to share my form with others
    • When I'm on the /users/<int:id>/forms/<int:id> page:
      • I can click a button to generate a link that I can share with registered and unregistered users
        • so they can fill out my form and submit the requested information

Display Results

  • As a logged in user that has created a form and shared it, I want to be able to view submissions from other users (logged in or logged out).

    • When I’m on the /submitted-forms page:
      • I can view the oldest submission at the top of the list
        • So that I can take necessary action for users who submitted the form first.
  • As a logged in user that has created a form and shared it, I want to be able to delete submissions from other users (logged in or logged out).

    • When I’m on the /submitted-forms, or /submitted-forms/:id page:
      • I can delete any submission from the list
      • And delete any submission from a specific submission page