This project is used to collect feedback from customers and store in a database and also expose the insights of the feedback.
- AWS SQS
- AWS SES
- AWS DYNAMODB
- AWS PARAMETER STORE
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
This service requires Java version 17 or newer in order to run, and also requires Java annotation processing to be enabled if you are using an IDE.
Enabling annotation processing in IntelliJ IDEA is done by opening Preferences->Build, Execution, Deployment -> Compiler > Annotation Processors and then selecting Enable annotation processing.
The service can be built using the following command:
./gradlew build
Running the service locally is done using the following command:
goto doker-user-feedback folder and run "docker compose up" to start local stack
then go to terraform-user-feedback folder and run terrform
terraform init ( first time)
terraform apply ( create resources)
./gradlew run -Dmicronaut.environments=local
or
set environment variable in your IDE run config MICRONAUT_ENVIRONMENTS=local
gradlew run
Unit tests can be run using the following command:
./gradlew test
We use SemVer for versioning. For the versions available, run the following command:
git tag
Upgrade gradle version
./gradlew wrapper --gradle-version={versionNumber}
- User mapstruct to remove emailId from response to list
- Add filters in list operation with date , score
- Improve the html template in email
- convert email endpoint to scheduler to send email weekly
- Unit tests