Proposal for this challenge.
For the full history of commits, please check gitlab.
- you guys use DDD... nice 🙂
- nice challenge you guys have here. The infra x service x domain is a good subject. For instance, here guys are using Autowire / Inject into domain classes. Here, domain receives a service on each call. The sample from book points that it should be in a service (but I can be wrong).
- Markdown? Please consider AsciiDoc
- "Frameworks not required" - I can see some guys adding Spring here 🙂
- Default files
- Kotlin + gradle
- I should provide a wrapper, but thought it is not required for this sample
- Makefile - it does help if you work with multiple languages
- Spock - test framework
- We could use cucumber for BDD as well (this is a team decision)
- Why not junit? Spock has features like Data Driven test, mocks / stubs / spys, etc
- Only on membership process was created service / infra, let me know if want to apply the same for others (Don't think this is required for this sample)
- A rule engine could be used if the rules change frequently