Replaced direct MaterialRepository usage in MaterialController with MaterialService to encapsulate business logic. Introduced MaterialService, centralizing operations like create, update, and delete while adding normalization for part numbers. Updated MaterialRepository with a new `create` method and adjusted `getById` for clarity.
Integrated Material domain entities with DTOs, repository, and controller, enabling CRUD functionality, pagination, and validation. Added utility classes like `UnitConverter`, and exception handling via global handlers. New classes include models for packaging, countries, and error handling structures.
Introduced a `user` field with `AggregateReference` to link SysUserNode to SysUser. This ensures better relational mapping and enforces non-null constraints with `@NotNull` and proper column mapping.
Introduce CrudRepository interfaces for managing core entities such as Premiss, SysUser, Material, and others. These additions enable basic CRUD operations for database interactions, streamlining persistence functionality in the application.
Introduced several domain model classes for the application including `CalculationJob` and its related entities, `Country`, `RegionCode`, `ContainerRate`, and `DistanceMatrix`. These classes provide comprehensive data structures for logistics calculations, geographical mappings, and rate management.
This commit introduces a detailed README file outlining the LCC Backend API, including endpoint descriptions, request/response formats, and authentication methods. It covers various domains such as system configuration, transport rates, user management, calculations, and reporting. This documentation aims to assist developers in understanding and utilizing the API effectively.
This commit introduces a detailed README file outlining the LCC Backend API, including endpoint descriptions, request/response formats, and authentication methods. It covers various domains such as system configuration, transport rates, user management, calculations, and reporting. This documentation aims to assist developers in understanding and utilizing the API effectively.
Introduced MySQL configuration and properties setup in `application.properties`. Added a comprehensive database schema covering users, logistics, packaging, and calculations. Updated `.gitignore` to exclude the `env.properties` file.