Co-authored-by: widlam <mikolaj.widla@gmail.com> Co-authored-by: Adam Bem <adam.bem@zoho.eu> Reviewed-on: #231 Reviewed-by: Adam Bem <bema@noreply.example.com> Co-authored-by: Mikolaj Widla <widlam@noreply.example.com> Co-committed-by: Mikolaj Widla <widlam@noreply.example.com>
60 lines
1.9 KiB
Markdown
60 lines
1.9 KiB
Markdown
# XML Tools
|
|
Content of this project is a service hosting tools for xml documents including xslt transformer,
|
|
xpath selector and xsd validator.
|
|
|
|
## About project
|
|
Service is split into three microservices.
|
|
1. JavaSpark web application serving REST API for XSD, XML, XSLT tools
|
|
2. Spring application serving REST mock service
|
|
3. Nginx hosting static documents.
|
|
|
|
Main page is hosted on port 8086.
|
|
|
|
## API Documentation
|
|
API documentation is available on port 8000/swagger/
|
|
|
|
## JavaSpark backend
|
|
Backend is hosted by default on port 8081. Rest api documentation is contained in OpenApi document
|
|
openapi.yml
|
|
|
|
Rest API accepts xml documents, given querry and processor version to call requested xml engine to perform given
|
|
operation and finally returns outcome in response body.
|
|
|
|
## Flask Python backend
|
|
|
|
This is module providing support for processing XMLs using libxml library. It consumes same JSON as Java backend.
|
|
|
|
|
|
## Mocked services
|
|
MockedServices is a tool that allows developer to create, in easy and simple way, http server mocked endpoints for integration tests
|
|
|
|
## Frontend
|
|
All the static files are available by default on port 8086 and are located within folder.
|
|
|
|
To preview given document user is required to post GET request to following path:
|
|
```aidl
|
|
/tools/{document name}
|
|
```
|
|
Documents are hosted by docker container running on ngix image and to modify container content
|
|
one must modify Dockerfile located in Frontend folder. Files published must be located in ngix directory
|
|
within created container.
|
|
|
|
## How to run
|
|
|
|
Dev server(with hot-reload frontend): docker-compose -f docker-compose.dev.yml up --build
|
|
Prod: docker-compose up --build
|
|
|
|
### Localy
|
|
In order to run application use
|
|
```aidl
|
|
docker-compose up --build -d
|
|
```
|
|
Which will launch service on localhost.
|
|
|
|
### Remote
|
|
To launch service on remote host, exchange ssh keys with destination server and declare docker context ex. DEV.
|
|
Then use following command
|
|
```aidl
|
|
docker-compose up --context DEV --build -d
|
|
```
|