Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hmcts/em-native-pdf-annotator-app
https://github.com/hmcts/em-native-pdf-annotator-app
jenkins-cft jenkins-cft-d-i
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/hmcts/em-native-pdf-annotator-app
- Owner: hmcts
- License: mit
- Created: 2018-09-21T14:24:22.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-10-29T08:59:46.000Z (about 2 months ago)
- Last Synced: 2024-10-29T09:23:56.293Z (about 2 months ago)
- Topics: jenkins-cft, jenkins-cft-d-i
- Language: Java
- Size: 29.1 MB
- Stars: 2
- Watchers: 24
- Forks: 6
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Audit: audit.json
Awesome Lists containing this project
README
# Evidence Management Native PDF Annotator App
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Build Status](https://travis-ci.org/hmcts/rpa-native-pdf-annotator-app.svg?branch=master)](https://travis-ci.org/hmcts/rpa-native-pdf-annotator-app)
[![codecov](https://codecov.io/gh/hmcts/rpa-native-pdf-annotator-app/branch/master/graph/badge.svg)](https://codecov.io/gh/hmcts/rpa-native-pdf-annotator-app)Native PDF Annotator is a backend service that manages native annotations on PDF documents.
In addition, the Native PDF Annotator handles requests from the Media Viewer to markup sensitive content in a case document and subsequent requests to redact marked up content..### Tech
It uses:
* Java17
* Spring boot
* Junit, Mockito and SpringBootTest
* Gradle
* [lombok project](https://projectlombok.org/) - Lombok project### Plugins
* [lombok plugin](https://plugins.jetbrains.com/idea/plugin/6317-lombok-plugin) - Lombok IDEA plugin## Quickstart
#### To clone repo and prepare to pull containers:
```
git clone https://github.com/hmcts/em-native-pdf-annotator-app.git
cd em-native-pdf-annotator-app/
```#### Clean and build the application:
Requires docker desktop running
```
./gradlew clean
./gradlew build
```#### To run the application:
VPN connection is required
```
az login
./gradlew bootWithCCD
```### Swagger UI
To view our REST API go to http://{HOST}/swagger-ui/index.html
On local machine with server up and running, link to swagger is as below
> http://localhost:8080/swagger-ui/index.html
> if running on AAT, replace localhost with ingressHost data inside values.yaml class in the necessary component, making sure port number is also removed.### API Endpoints
A list of our endpoints can be found here
> https://hmcts.github.io/reform-api-docs/swagger.html?url=https://hmcts.github.io/reform-api-docs/specs/rpa-native-pdf-annotator-app.json### Building the application
The project uses [Gradle](https://gradle.org) as a build tool. It already contains
`./gradlew` wrapper script, so there's no need to install gradle.To build the project execute the following command:
```bash
./gradlew build
```To run the project unit tests execute the following command:
```
./gradlew test
```To run the project functional tests, first ensure you have run `./gradlew bootWithCCD` as in the above setup instructions, then run
```
./gradlew functional
```## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details
### Running contract or pact tests:
You can run contract or pact tests as follows:
```
./gradlew clean
``````
./gradlew contract
```You can then publish your pact tests locally by first running the pact docker-compose:
```
docker-compose -f docker-pactbroker-compose.yml up
```and then using it to publish your tests:
```
./gradlew pactPublish
```