A survey is one of the most popular sources of data collection. A set of survey questions is sent to users who can answer the questions. Users receive online surveys through various media, such as e-mail or by sending a link. What is the purpose of conducting online surveys? Online surveys are conducted to obtain feedback, both positive and negative, from current or potential customers, employees and users. It can be carried out, for example, on: introducing new products or services, changes in marketing strategies, improvements to current functions, etc.
The application allows you to send the created survey to users registered in the system. You can use Google or Facebook authentication to log in. You can create two types of surveys (eventually more): simple (yes, no) and those requiring a longer, descriptive answer. The person creating and sending the surveys may receive responses after some time.
in backend:
Technology | Version |
---|---|
DOTNET |
8.0.100 |
Postgresql |
x.x.x |
Docker |
x.x.x |
RabbitMQ |
x.x.x |
in frontend web:
Technology | Version |
---|---|
Angular |
17.3.0 |
Typescript |
5.4.2 |
PrimeNG |
17.11.0 |
Sakai-NG |
17.0.0 |
in fronted mobile(maybe):
Technology | Version |
---|---|
MAUI |
x.x.x |
Web application responsible for interacting with the user and presenting feedback data.
Application responsible for initializing and starting all the modules - loading configurations, running DB migrations, exposing public APIs etc.
Autonomous modules with the different set of responsibilities, highly decoupled from each other - there's no reference between the modules at all (such as shared projects for the common data contracts), and the synchronous communication & asynchronous integration (via events) is based on local contracts approach.
- Surveys - managing surveys
- Simple surveys
- Standard surveys
- Notifications - notification management (e.g. feedback from API).
- Users - managing the users/identity (register, login, permissions etc.).
The set of shared components for the common abstractions & cross-cutting concerns. In order to achieve even better decoupling, it's split into the separate Abstractions and Infrastructure, where the former does contain public abstractions and the latter their implementation.
A place to store documentation.
First, check if you have GIT installed. If not, go to: Git installation.
This project is licensed under the MIT License. Feel free to use, modify, and distribute as per the terms of the license.