Skip to content

Latest commit

 

History

History
67 lines (53 loc) · 1.88 KB

README.md

File metadata and controls

67 lines (53 loc) · 1.88 KB

Shop Tracking Simulation


This program simulates work of the shop merchandiser and track all of his moves.

The first solution about paking items on the shelf (in our case 2D bin packing problem) is to use shelf algorithm wich is more preferable for perfomance at my point of view.

Technology stack:

  • Spring boot
  • Google Guava lib
  • Spring data JPA
    1. Database:
    • Postgresql
    • Liqubase
    • Hibernate envers
      Logging:
    • Log4j
    • SL4j
      Spicing:
    • Lombok
      Testing:
    • JUnit 5
    • Mockito
      CI CD tools used:
    • Jenkins
    • SonarQube
      Documentation:
    • Swagger

The algorithm i used in my case is customised NFDH (Next Fit Decreasing High) packing algorithm:

  1. For each rectangle in the list of strings to pack:
    1. If the rectangle does not fit in the current shelf:
      1. Close the current shelf.
      2. Open a new shelf with self height 0 and position of previous shelf level.
    2. Add the rectangle to the current shelf.
      1. If the rectangle’s height is greater than the shelf’s height:
        1. Set the shelf height to the rectangle’s height.