Writing code that others can understand without hassle is an art. An important issue in this challenge is proper documentation of the code - not overly extensive, but also not the often encountered zero-documentation-way.
JUnit offers great possibilities to write good tests with ease. Expressing the intention of tests and test classes with the @DisplayName annotation and structuring them with @Nested is a good practice, causes only minor effort and helps reducing the pain of adapting tests when the code under test has changed.
When deploying infrastructure as code with CDK it is a good practice to keep stateful resources like databases separated from stateless resources in different stacks to avoid accidental data loss and other problems.