From 4d5cf6d0db77b10d85c6d8d3ef86d254dfb0ccd9 Mon Sep 17 00:00:00 2001 From: jdmedlock Date: Fri, 22 Mar 2019 08:26:15 -0500 Subject: [PATCH] Feature: Add Survey app specification - Add Survey app specification - Update the specification template to include a 'Project Board' section defining the link to the projects Kanban board, currently Trello. Resolves: N/a See also: N/a --- Example Guide.md | 4 ++ Projects/Survey-App.md | 91 ++++++++++++++++++++++++++++++++++++++++++ README.md | 1 + 3 files changed, 96 insertions(+) create mode 100644 Projects/Survey-App.md diff --git a/Example Guide.md b/Example Guide.md index 057082b9..a28b1c92 100644 --- a/Example Guide.md +++ b/Example Guide.md @@ -23,6 +23,10 @@ Answer to the following questions: - [ ] User can ... second bonus feature - etc... +## Project Board + +You can track your progress by cloning this [TBD](url-goes-here) + ## Useful links and resources Add all the useful links and resources corresponding to this project. diff --git a/Projects/Survey-App.md b/Projects/Survey-App.md new file mode 100644 index 00000000..df84f2d6 --- /dev/null +++ b/Projects/Survey-App.md @@ -0,0 +1,91 @@ +# Survey + +**Tier:** 3-Advanced + +Surveys are a valuable part of any developers toolbox. They are useful for +getting feedback from your users on a variety of topics including application +satisfaction, requirements, upcoming needs, issues, priorities, and just plain +aggravations to name a few. + +The Survey app gives you the opportunity to learn by developing a full-featured +app that will you can add to your toolbox. It provides the ability to define a +survey, allow users to respond within a predefined timeframe, and tablulate +and present results. + +Users of this app are divided into two distinct roles, each having different +requirements: + +- _Survey Coordinators_ define and conduct surveys. This is an administrative +function not available to normal users. +- _Survey Respondents_ Complete surveys and view results. They have no +administrative privileges within the app. + +Commercial survey tools include distribution functionality that mass emails +surveys to Survey Respondents. For simplicity, this app assumes that surveys +open for responses will be accessed from the app's web page. + +## User Stories + +### General +- [ ] Survey Coordinators and Survey Respondents can define, conduct, and +view surveys and survey results from a common website +- [ ] Survey Coordinators can login to the app to access administrative +functions, like defining a survey. +### Defining a Survey +- [ ] Survey Coordinator can define a survey containing 1-10 multiple choice +questions. +- [ ] Survey Coordinator can define 1-5 mutually exclusive selections to each +question. +- [ ] Survey Coordinator can enter a title for the survey. +- [ ] Survey Coordinator can click a 'Cancel' button to return to the home +page without saving the survey. +- [ ] Survey Coordinator can click a 'Save' button save a survey. +### Conducting a Survey +- [ ] Survey Coordinator can open a survey by selecting a survey from a +list of previously defined surveys +- [ ] Survey Coordinators can close a survey by selecting it from a list of +open surveys +- [ ] Survey Respondent can complete a survey by selecting it from a list of +open surveys +- [ ] Survey Respondent can select responses to survey questions by clicking +on a checkbox +- [ ] Survey Respondents can see that a previously selected response will +automatically be unchecked if a different response is clicked. +- [ ] Survey Respondents can click a 'Cancel' button to return to the home +page without submitting the survey. +- [ ] Survey Respondents can click a 'Submit' button submit their responses +to the survey. +- [ ] Survey Respondents can see an error message if 'Submit' is clicked, +but not all questions have been responded to. +### Viewing Survey Results +- [ ] Survey Coordinators and Survay Respondents can select the survey to +display from a list of closed surveys +- [ ] Survey Coordinators and Survey Respondents can view survey results as +in tabular format showing the number of responses for each of the possible +selections to the questions. + +## Bonus features + +- [ ] Survey Respondents can create a unique account in the app +- [ ] Survey Respondents can login to the app +- [ ] Survey Respondents cannot complete the same survey more than once +- [ ] Survey Coordinators and Survey Respondents can view graphical +representations of survey results (e.g. pie, bar, column, etc. charts) + +## Project Board + +You can track your progress by cloning this [TBD](url-goes-here) + +## Useful links and resources + +Libraries for building surveys: +- [SurveyJS](https://surveyjs.io/Overview/Library/) + +Some commercial survey services include: +- [Survey Monkey](https://www.surveymonkey.com/) +- [Traversy]() +- [Typeform](https://www.typeform.com/) + +## Example projects + +[Javascript Questionnaire](https://codepen.io/amyfu/pen/oLChg) diff --git a/README.md b/README.md index 43119970..cf1357a0 100644 --- a/README.md +++ b/README.md @@ -69,6 +69,7 @@ required to complete them. | [Kudos Slackbot](./Projects/Kudos-Slackbot.md) | Give recognition to a deserving peer| 3-Advanced | | [Slack Archiver](./Projects/Slack-Archiver.md) | Archive Slack Messages | 3-Advanced | | [Spell-It App](./Projects/SpellIt-App.md) | A twist on the classic Speak N Spell game | 3-Advanced | +| [Survey](./Projects/Survey-App.md) | Define, conduct, and view a survey | 3-Advanced | ## Trello Collection Boards