This is a reusable NPS Net Promoter Score widget. The widget displays a numeric scale typically ranging from 0 to 10, allowing users to rate their experience or likelihood to recommend on a continuum.
The widget is available in Vaadin Directory: vaadin.com/directory/component/nps.
![nps-widget](https://private-user-images.githubusercontent.com/991105/240868160-6e823dfe-d730-432f-9a38-870a09d2646a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjYxMTQ4NDYsIm5iZiI6MTcyNjExNDU0NiwicGF0aCI6Ii85OTExMDUvMjQwODY4MTYwLTZlODIzZGZlLWQ3MzAtNDMyZi05YTM4LTg3MGEwOWQyNjQ2YS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwOTEyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDkxMlQwNDE1NDZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1kOTc5OWEyNzM0NGYwMDI3OWQ2NGNiYmZmN2ExNGZlYmZhYmVmODUzNTY2MzlkNTMwMWNkMTQ2NzEwYTZlZDEyJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.Z8ERGd4J-9eyzM36muyWCcvjQz7piX7wu6zdd3MD4ic)
Additionally the demo project implements a full application for collecting and reporting the NPS score. This can be used as standalone application to collect user feedback. This application is a runnable Spring Boot web application using Vaadin.
NPS focuses on collecting user feedback, providing you with valuable insights to gauge customer satisfaction and loyalty. While it doesn't generate reports directly, the data collected by the widget can be used to analyze and measure the overall sentiment and make informed decisions to enhance your product or service based on the feedback received.
Project consists of two modules:
This add-on is server-side only implementation made using existing Vaadin components.
- NPS.java: this is the addon-on component class. You can add more classes if you wish, including other Components.
- TestView.java: A View class that let's you test the component you are building. This and other classes in the test folder will not be packaged during the build. You can add more test view classes in this package.
- assembly/: this folder includes configuration for packaging the project into a JAR so that it works well with other Vaadin projects and the Vaadin Directory. There is usually no need to modify these files, unless you need to add JAR manifest entries.
Starting the test server in addon module:
cd addon
mvn jetty:run
This deploys demo at http://localhost:8080
To run Integration Tests, execute mvn verify -Pit,production
in addon
module.
Project uses Directory REST API to publish the addon.
You can create the zip package needed for Vaadin Directory using
mvn versions:set -DnewVersion=1.0.0 # You cannot publish snapshot versions
mvn install -Pdirectory
The package is created as target/{project-name}-1.0.0.zip
For more information or to upload the package, visit https://vaadin.com/directory/my-components?uploadNewComponent