As discussed in #8 we need to think further and create a design for our sample apps.
Changing things now is still easy and has low effort.
So technically with this story we want to refactor the sample app in this repo such that it provides a service for products (master-data). This means:
- Rename the packaging from
com.devonfw.demoquarkus to com.devonfw.quarkus.productmanagement
- Change
Animal to Product
- Product should have these properties (in addition to
id and "version"):
- title (String)
- price (MonetaryAmount) - then we can also demonstrate AttributeConverter and Json(De)Serializer. For the record: We do not need to support multiple currencies - can be fixed to a single-one like EURO. Transformation between currencies is complex and more or less only works properly via externally provided services. Therefore we could omit the currency in DB and only store the value. For storing the precision is not so important so two digits are sufficient for a real-world example. However, computations like tax rates have to work with precision that is guaranteed by MonetaryAmount or BigDecimal and would lead to invalid results when using
double or float.
- description (String)
- optionally more to add later outside this story (e.g. picture as URL or BLOB)
As discussed in #8 we need to think further and create a design for our sample apps.
Changing things now is still easy and has low effort.
So technically with this story we want to refactor the sample app in this repo such that it provides a service for products (master-data). This means:
com.devonfw.demoquarkustocom.devonfw.quarkus.productmanagementAnimaltoProductidand "version"):doubleorfloat.