Giter Club home page Giter Club logo

hmcts.sscs-track-your-appeal-notifications's Introduction

SSCS - Track Your Appeal Notifications

Purpose

Track Your Appeal Notifications is a spring boot based application used to send notifications to gov notify.

The Job-Scheduler is used to start notification requests using callbacks.

Prerequisites

  • JDK 8

Building and deploying the application

Building the application

To build the project execute the following command:

./gradlew build

Running the application

Run the application by executing:

./gradlew bootRun

Running in Docker

Create the image of the application by executing the following command:

  ./gradlew installDist

Create docker image:

  docker-compose build

Run the distribution by executing the following command:

  docker-compose up

This will start the API container exposing the application's port

In order to test if the application is up, you can call its health endpoint:

  curl http://localhost:8081/health

You should get a response similar to this:

  {"status":"UP"}

DB initialisation

Running the application will apply db migration scripts automatically.

They can also run on demand using the following Gradle task:

./gradlew flywayMigrate

Unit tests

To run all unit tests execute the following command:

./gradlew test

Debugging locally with CCD

Setup callbacks by finding out IP address:

ifconfig

Copy the inet value from en0 and place this value in the callback column in the definition spreadsheet.

Start CCD application

./compose-frontend.sh up -d

In IDE, start the application in Debug mode and put a breakpoint in the appropriate place. Then login to CCD and start an event which would trigger a callback.

Run locally in Docker with CCD using an alias

Create an alias

alias run-notify='docker-compose -f compose/backend.yml -f compose/frontend.yml -f ../track-your-appeal-notifications/docker-compose.yml'

Run the alias

run-notify up -d

This starts the CCD applications with Track-your-appeal-notifications in Docker with just one command

Job scheduler service

This project imports the sscs job scheduler service JAR (https://github.com/hmcts/sscs-job-scheduler). This is used to schedule reminders in the future. The management of the database is handled within this project using a PostgresSQL database.

Gotchas

PRs that start with "Bump" won't have a preview environment. The decision was made after we realised that most the preview environments were created by Depandabot.

hmcts.sscs-track-your-appeal-notifications's People

Contributors

dependabot-preview[bot] avatar ryandac avatar chrisdavecm avatar iguannago avatar oleg-hmcts avatar srochani avatar paulvm avatar michaellavelle avatar chrisgrimble avatar ruban72 avatar chris-moreton avatar bartlabno avatar someshacharya avatar danhamilton avatar arcotc avatar dependabot[bot] avatar fantasticjamieburns avatar renovate[bot] avatar bkpatel81 avatar eob avatar aaronrs avatar danielepolencic avatar jhart-dev avatar sathishbabuj avatar dependabot-support avatar rasikasri avatar rishikrsharma avatar gokul-sol avatar slyg avatar adusumillipraveen avatar

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.