/jb64-diff

Project with REST API for finding difference between JSON Base64 encoded binary data

Primary LanguageJavaApache License 2.0Apache-2.0

JB64 Diff

JSON base64 encoded binary data difference checker

How to use

Project already has maven wrapper (so you don't need to have it installed). All other dependencies (including embedded mongodb) will be downloaded by it.

There are 2 maven/spring-boot profiles that forcing application to work in one of following modes:

  • Active Record "ar" (default one) maintain one H2 database table record for each diff id that contain left and right part
  • Event Sourcing "es" maintain new request and result for each addPart call as a new record

Execute maven build (It may take a while in the first run):

$ ./mvnw clean install 
or
$ ./mvnw clean install -Pes 

After the message of BUILD SUCCESS, the application is ready to run:

$ ./mvnw spring-boot:run
or
$ ./mvnw spring-boot:run -Pes 

Application will be available on http://localhost:8787 (This one can be also changed in application.properties). REST API documentation will be available at http://localhost:8787/swagger-ui.html

Tech stack

  • Java 8
  • Spring Boot
    • Web
    • Data
    • Data MongoDB
    • Test
  • Storage engine
    • H2 database
    • Embedded MongoDB
  • Lombok
  • SpringFox Swagger UI
  • Maven

Possible improvements

  • More advanced validations (like validation encoded content is it could be decoded)
  • Probably event sourcing document entities could be renamed in order to be self-describing
  • Use Docker/Docker Compose that will help using installed MongoDB and MySQL
  • Use tool like Gatling to measure performance