Skip to content

Commit

Permalink
Feature: Add Survey app specification
Browse files Browse the repository at this point in the history
- 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
  • Loading branch information
jdmedlock committed Mar 22, 2019
1 parent b9f5de7 commit 4d5cf6d
Show file tree
Hide file tree
Showing 3 changed files with 96 additions and 0 deletions.
4 changes: 4 additions & 0 deletions Example Guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
91 changes: 91 additions & 0 deletions Projects/Survey-App.md
Original file line number Diff line number Diff line change
@@ -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)
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down

0 comments on commit 4d5cf6d

Please sign in to comment.