Skip to content

Commit

Permalink
- updates readme (#2557)
Browse files Browse the repository at this point in the history
  • Loading branch information
RuthKirby committed Jun 19, 2024
1 parent 5bdf98c commit 13f2060
Showing 1 changed file with 38 additions and 2 deletions.
40 changes: 38 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Send Letter Service

## Architectural Diagram
![Diagram](./doc/arch/diagram.png)
> You can edit this diagram by importing `./doc/arch/diagram.drawio` into [draw.io](https://www.draw.io/).
Expand All @@ -8,14 +9,49 @@

## Table of Contents

* [Overview](#overview)
* [Bulk Print](#bulk-print)
* [Send Letter Service](#send-letter-service)
* [Running the application](#running-the-application)
* [Locally](#locally)
* [Docker environment](#docker-environment)
* [Prerequisites](#prerequisites)
* [Quick Start](#quick-start)
* [Locally](#locally)
* [Docker environment](#docker-environment)
* [Onboarding new services](#onboarding-new-services)
* [License](#license)

## Overview

### Bulk Print

Send Letter is a key part of the Bulk Print system infrastructure. At a high level, Bulk Print is a system
that allows a Document Owner (DO) to send a request to a 3rd party Printing Company (PC). The PC will then print and post the letter
to a Recipient.

### Send Letter Service

Send Letter Service's role in the system is to:

* Receive the requests from the DOs and store this information (PDF byte
data) to its database
* Periodically check these letter requests and upload the letters to the server of the PC. (`UploadLettersTask`)
* Periodically fetch reports from the PC's server checking if the letter has been posted and updating
its database accordingly. (`MarkLettersPostedTask`)
* Send daily report of uploaded letters
* Send weekly report of letters that were uploaded more than six days before current date but have not been posted (stale letters)

## Running the application

### Prerequisites

- [JDK 17](https://www.oracle.com/java)
- Project requires Spring Boot v3.x to be present

### Quick Start
An alternative faster way getting started is by using the automated setup script. This script will help set up all
bulk scan/print repos including send-letter-service and its dependencies.
See [common-dev-env-bsbp](https://github.com/hmcts/common-dev-env-bsbp) repository for more information.

### Locally

Follow list of required environment variables defined in `./docker/env.list` in order to be able to run application.
Expand Down

0 comments on commit 13f2060

Please sign in to comment.