Surveys are an important way to close the feedback loop on the services that are delivered by ULBs. Without proper surveys, ULB employees will never know how happy the citizens are, about the services they consume and what the areas of improvement are.
The surveys section will be used by ULB employees to create citizen surveys to make better-informed decisions while issuing new policies/ feedback on existing services.
Pre-requisites
Prior knowledge of Java/J2EE.
Prior knowledge of SpringBoot.
Prior knowledge of PostgresSQL.
Prior knowledge of REST APIs and related concepts like path parameters, headers, JSON etc.
Prior knowledge of JSONQuery in Postgres. (Similar to PostgresSQL with a few aggregate functions.)
Key Functionalities
This service allows -
Employees - to create, edit, delete surveys
Employees - to share survey results with other employees/citizens
Citizens - to fill out surveys
Each survey entity will have questions associated with it. Questions can be of -
short answer type
long answer type
multiple answers type
checkbox answer type
date answer type
time answer type
Configuration Details
Survey entities will have a collectCitizenInfo flag associated with them, if that flag is set to true, the mobile number and email address of the citizens responding to the survey will be captured. If it is set to false, responding to the survey will be completely anonymous.
Surveys will have a startDate and endDate associated with them. Within that period, those surveys will be shown in the active section. However, in case the survey has been manually marked inactive by the employee during its active period, that survey will be shown under the inactive surveys section. Citizens can look at active survey entities and submit their responses for that survey.
Once a survey is created, it can be searched with the following parameters -
tenantIds - To search surveys based on multiple ULBs
title - To search surveys based on survey names
postedBy - To search surveys based on employees who created the survey
status - To search surveys based on status
Also, if any created survey needs to be updated -
Before the survey becomes active, users can edit all the fields.
While editing, we can add, delete, and modify questions.
Once the survey becomes live user can only change
a. Survey Description
b.End date and time of the survey
In case of deletion of a survey, the survey will be soft deleted i.e. the ‘active’ boolean field will be set to false and it will not appear in search results.
NOTE:
1. In search of a survey we display only questions which are in active status
2. While editing, if a question of a survey is deleted, then we mark the question as inactive in db
Swagger Documentation
The link to the swagger documentation can be found below -