- Clone this repository
- Clone the frontend repository Mineral System Flow Frontend
- Run docker-compose.yml file
- Import realm realm-export.json into Keycloak
- Run CompleteApplication.java
- Run the frontend application
The Warehouse domain manages the storage and handling of materials. Key components include:
MaterialType: Enum for material types (Gypsum, Iron Ore, Cement, Petcoke, Slag).
OrderLine: Represents an order line item with material type, amount in tons, and price per ton.
Pdt: Product Delivery Ticket with material type, arrival time, warehouse number, weighbridge number, and dock number.
PurchaseOrder: Represents a purchase order with order number, date, customer details, status, and order lines.
Warehouse: Represents a warehouse with number, seller ID, material type, and activities.
WarehouseActivity: Represents an activity (delivery or shipment) with activity ID, time, type, status, material type, and weight.
WarehouseActivityId: Unique identifier for a warehouse activity with warehouse number and UUID.
WarehouseActivityWindow: Manages a list of warehouse activities, allowing addition and retrieval.
The Landside domain manages the scheduling and tracking of truck appointments. Key components include:
Appointment: Represents a truck appointment with seller ID, license plate, material type, appointment time, arrival time, and departure time.
MaterialType: Enum for material types (Gypsum, Iron Ore, Cement, Petcoke, Slag).
OnTime: Enum indicating if a truck is on time, late, or unknown.
Schedule: Represents a schedule with a date and a list of appointments.
Truck: Represents a truck with license plate, seller ID, and material type.
Warehouse: Represents a warehouse with number, seller ID, material type, and weight.
Wbt: Represents a weighbridge ticket with license plate, gross weight, tare weight, net weight, and weigh time.
Weighbridge: Represents a weighbridge with number and license plate.
The Waterside domain manages the scheduling and tracking of shipment orders. Key components include:
ShipmentOrder: Represents a shipment order with purchase order reference, arrival date, and departure date.
The Invoicing domain manages the creation and handling of invoices. Key components include:
Invoice: Represents an invoice with purchase order number, commission fee, customer number, and timestamp.
MaterialType: Enum for material types (Gypsum, Iron Ore, Cement, Petcoke, Slag) with associated storage prices.
StorageEntry: Represents a storage entry with seller ID, material type, weight, and timestamp.
GetPdtCommand: Retrieves a Product Delivery Ticket.
GetWarehouseInfoCommand: Retrieves information about a specific warehouse.
GetWbtCommand: Retrieves a Weighbridge Ticket.
MakeAppointmentCommand: Schedules a truck appointment.
ProjectWarehouseCommand: Projects warehouse activities.
ReceiveWarehouseNumberCommand: Receives a warehouse number for a truck.
ReceiveWeighbridgeNumberCommand: Receives a weighbridge number for a truck.
RecognizePlateCommand: Recognizes a truck's license plate.
InputShipmentOrderCommand: Inputs a shipment order.
WarehouseActivityCreatedEvent: Represents the creation of a warehouse activity.
WbtUpdatedEvent: Represents the update of a weighbridge ticket.
PurchaseOrderUpdatedEvent: Represents the update of a purchase order.
StorageEntryCreatedEvent: Represents the creation of a storage entry.