Skip to content
This repository has been archived by the owner on Mar 6, 2019. It is now read-only.
/ jb64-diff Public archive

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

License

Notifications You must be signed in to change notification settings

s4got10dev/jb64-diff

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages