Job description
Requirements for the Application for Creating and Filling Out Questionnaires
I. General Description:
This project involves the development of a web application for creating questionnaires, filling them out, and evaluating the "compatibility" of the filled data with the "answer key" of a given questionnaire.
1. The application will be a "multi-tenant" solution.
2. There must be an option to establish an "organization" (our Client), within which "users" of different "roles" are defined (Administrator / Questionnaire Creator, Approver, Respondent).
3. It should be possible to assign roles to individual columns of the survey (with read or write permissions).
4. The application will enable users to create questionnaires in the form of:
a) Question, hint for the question
b) List of answers, hints for individual answers
c) Key for evaluating answers
d) Answer, justification
e) Statuses (for responses to a question): completed, verified, accepted
5. Some answers may be chosen from lists/dictionaries. There should be a feature to define dictionaries during the questionnaire construction.
6. The names of the "columns" of the questionnaire should be customizable during its creation.
7. The number of questions in the questionnaire and the number of answers to individual questions can vary in different questionnaires and questions.
8. It must be possible to generate a report from the completed survey in CVS/JSON format.
II. Technical Requirements:
1. The application should be accessible via a web browser.
2. The application should be scalable to handle a large number of users.
3. The application will be hosted on a cloud computing platform (Azure).
4. The preferred programming language is Python.
5. Survey participation (by the user) – UI with the capability to assign roles to defined columns (who has the right to participate, read, etc.).
6. Ability to design and generate reports (e.g., by columns).