-
Provide 2 http endpoints that accepts JSON base64 encoded binary data on both endpoints
<host>/v1/diff/<ID>/left
and<host>/v1/diff/<ID>/right
-
The provided data needs to be diff-ed and the results shall be available on a third end point.
<host>/v1/diff/<ID>
-
The results shall provide the following info in JSON format
- If equal return that
- If not of equal size just return that
- If of same size provide insight in where the diffs are, actual diffs are not needed.
- So mainly offsets + length in the data
-
Make assumptions in the implementation explicit, choices are good but need to be communicated assumptions in the implementation explicit, choices are good but need to be communicated
- Spring Boot - Framework
- H2 - Database
- Tomcat - Server
- Maven - Dependency Management
First run command below in terminal
mvn clean install
Then run jar file with command below in terminal
java -jar target/scalableweb-0.0.1-SNAPSHOT.jar
Test can be run separately with commands below
mvn test
mvn verify
- Swagger is added but not implemented due to lack of time. It is very suitable for versioning and documentation if we consider prefix of the urls which start with V1
- Dockerizing would be nice, it allows us to test our application across to multiple instances.
- Distributed Cache(Redis) would must have if we run application across to multiple instances.
- Authentication would be nice too.