Why package by feature first and then by layer?
garrettdbates.com
garrettdbates.com
This also reminds me of James Shore's nullables [1], where infra and logging are also unit-testable. Having a slice for each feature could help evolve the system organically as patterns emerge over time.
Combined with that, a recent post on database design [2].
[1] https://www.jamesshore.com/v2/courses/testing-without-mocks