We are building 9 short surveys (totaling 100 questions) and require database functionality to support user accounts and information capture and display. We can author the static content and pages, we need the database functionality. We are prepared to drop code into our pages as necessary, and can generate sample pages for the freelancer to use for testing as necessary. Freelancer will develop on his/her own development server and upon project completion will zip up the database for delivery to live server. We can provide wireframes to further detail flow and functionality.
The functionality we require is:
The database will store:
- User email addresses
- User passwords
- User responses to each question (YES, NO, or NOT APPLICABLE)
- Paragraphs of text related to each question that will be served up dynamically based on user response. See explanation of survey functionality.
- New users register by submitting an email address. A random generated password will be sent to that email address. There will be no approval process for registration.
- Users then log in with their email and the supplied password
- Users can request a new password by re-submitting their email address.
- Users cannot alter or delete their account
- Users will start by selecting which survey they want to take from a Table of Contents Page.
- Questions will be presented and answered one-at-a-time
- Each question will have three possible answers, YES, NO, or NOT APPLICABLE.
- Each answer to each question must be recorded to the database
- Some answers to some questions will prompt a pop-up window. There are two different pop-up window messages.
- After closing the pop-up window, users continue with the survey
- Once a user finishes a survey they will see a Results Page that indicates how many times they answered NO. That page will also list the text of the questions to which the user answered NO, plus paragraphs related to each question that was answered NO.
- Users can then elect to see all of their answers on a Full Report Page. The page will disply the text of each question followed by the user's answer, followed by the paragraphs of text related to each question.
- After each survey, and Results/Report pages, users return to the Table of Contents Page. That page will indicate which surveys are complete, and offer ability to review results of, or retake any completed survey (or users can select another survey from the list)
- If a user retakes a survey the new answers will overwrite existing answer data
- It is not required that users can leave in the middle of a survey and return to continue that survey. If freelancer chooses to build that functionality then the table of content page will include the option to continue a survey that was started but not complete. If freelance chooses not to build that functionality, users that exit without completing a survey will have to restart the survey
We require the following admin functionality:
- Ability to enter text related to each question into the database, so the text can be dynamically called to populate the results page
- Ability to delete or add user accounts
- Ability to export captured data to .CSV or .XLS
- Freelancer may propose to build admin tool that allows us to enter the question text into the database, and allows us to edit or add questions at a later date.