Skip to content

mast7860/user-feedback

Repository files navigation

user-feedback

Introduction

This project is used to collect feedback from customers and store in a database and also expose the insights of the feedback.

Technology Stack

AWS Services

  • AWS SQS
  • AWS SES
  • AWS DYNAMODB
  • AWS PARAMETER STORE

Getting Started

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.

Prerequisites

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.

Installing

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

Running the tests

Unit tests can be run using the following command:

./gradlew test

Versioning

We use SemVer for versioning. For the versions available, run the following command:

git tag

Tips

Upgrade gradle version

./gradlew wrapper --gradle-version={versionNumber}

TODO:

  • 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

Micronaut 3.2.7 Documentation


Feature assertj documentation

Feature management documentation

Feature lombok documentation

Feature http-client documentation

Feature openapi documentation

Feature reactor documentation

Feature mockito documentation

Feature jms-sqs documentation

Feature aws-v2-sdk documentation

About

Micronaut based application with usage of many AWS services

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published