GithubHelp home page GithubHelp logo

surveysportal's Introduction

Static Badge Static Badge

Survey's Portal

image

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.

About application

The application allows you to send the created survey to users registered in the system. You can use Google, LinkedIn 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.

Used technologies

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

Solution structure

Frontend

Web application responsible for interacting with the user and presenting feedback data.

Backend

Bootstrapper

Application responsible for initializing and starting all the modules - loading configurations, running DB migrations, exposing public APIs etc.

Modules

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.).

Shared

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.

Docs

A place to store documentation.

Database manual migrations

Application usage

Dependence

Clone from GitHub

First, check if you have GIT installed. If not, go to: Git installation.

License

This project is licensed under the MIT License. Feel free to use, modify, and distribute as per the terms of the license.

surveysportal's People

Contributors

karolmaliglowka avatar

Stargazers

Krzysztof Tutak avatar Krzysztof Porebski avatar  avatar Jarosław Armatys avatar  avatar  avatar Mati  avatar Adrian Mikołajczyk avatar DY avatar geffzhang avatar

Watchers

 avatar

surveysportal's Issues

feature/Create documentation files

README.md
Create a readme file related to the project. Must contain:
[x] description of the application,
[ ] the principle of operation of the application,
[x] the technologies used,
[ ] a description of how to download the application from github,
[ ] how to run it with the installation of all components,
[ ] illustrated diagram of the application's operation,
[ ] application structure.

Add doc file with information about manual database migration

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.