To Run this Application -Use JAVA 16 or above -Gradle 7 or above
-IF face any issue in running in intellij then follow this step: Preferences -> Gradle -> Build & Run using : as IntelliJ
Things I could have done/improved in this project
- Write more Unit test cases i.e. TDD with 100% code coverage.
- Could have used Mockito for the test class.
- Config classes can be optimised if we were using the @value spring framework.
- Segregate FeeModel class into 3 classes For each Parking Location.
- Reduce the size of calcParkingFees by diving into 3 methods of Parking Location wise.
- To simplify more this project can be done without Gradle but since I needed it for JUnit dependency so also used Lombok which anyways makes DTO more readable.