Co-authored-by: mikolaj widla <mikolaj.widla@gmail.com> Co-authored-by: Adam Bem <adam.bem@zoho.eu> Reviewed-on: #131
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.
- JavaSpark web application serving REST API for XSD, XML, XSLT tools
- Spring application serving REST mock service
- 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:
/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
Localy
In order to run application use
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
docker-compose up --context DEV --build -d