for me the app that I'm building, a very simple slot machine app where there is which users can deposit money to buy credits, and use those credits to play teh slot machine, and withdrawl their earnings. That's it.
I get that event sourcing makes sense here since we need a proof of all transactions and must be auditable by a regulatory body.
The immutability as a single source of truth I'm thinking of using datomic. However, it is not clear to me where CQRS/DDD would be needed if at all. I have trouble justifying increasing complexity of the project by using DDD instead of a single User table with credit/money balance columns.
Am I getting too ahead of myself by applying DDD using CQRS pattern? I'm not sure what would be the benefit of separating commands from query for a very simple slot machine game where it seemingly has very limited features (exchange money for credits, play game, withdraw winnings).
Definitely down the road, there might be some more added constraints depending on where the app is deployed. Some countries might have additional regulatory processes that needs to be added...
Why can't I just build a CRUD app and record a log of everything that is happening? Why must I use ES/CQRS/DDD? Do I even need Datomic at all?
Just need some second opinions here.