ivanpaulovich / clean-architecture-manga

:cyclone: Clean Architecture with .NET6, C#10 and React+Redux. Use cases as central organizing structure, completely testable, decoupled from frameworks
http://paulovich.net/
Apache License 2.0
4k stars 688 forks source link

Feature request: Admin system #168

Open cimicdk opened 4 years ago

cimicdk commented 4 years ago

First of all thank you for this. I was severely disappointed by the book, as it left me with more questions than answers. This helps a lot, even just looking at this while reading the book.

One thing I always run into is having an application with gateways/repositories, a nice domain model etc and then having to add an admin system. Suddenly you will be loading lists of entities, often with multiple tables joined in that is not a part of your domain model. This could be e.g. orders that needs to be joined with users and products which none of our current models repositories supports. Also we can run into cases where you have a way to obtain data, but it is too inefficient to be useable, so you would have to add new types of entites. But then you may have some business rules that you still need, so just creating new entity models may not be the best way as you would have to dublicate it.

Would you consider to add a e.g. admin system to the project? I think it would be good for learning, and something many people run into

rhyder commented 4 years ago

I would love to see how a “joint” account would work. For example, two customers that share the same account.

At the moment, CustomerId is stored against the Account. Whereas a “joint” Account would perhaps have a joining table sat between the Customer and Account. Which would allow for GetAllAccountsForCustomerId functionality.

ivanpaulovich commented 4 years ago

@cimicdk, I was in need of a "Implementing Clean Architecture" then I started this project. I am glad you found it useful.

Would you consider to add a e.g. admin system to the project? I think it would be good for learning, and something many people run into

This is an amazing idea and I can imagine the challenge to implement it. I will add this to the backlog.

@SamRidings, another interesting use case:

I would love to see how a “joint” account would work. For example, two customers that share the same account.

Let's evolve these ideas.

cimicdk commented 4 years ago

@ivanpaulovich I'm happy you think so, I'm currently struggeling a bit with this myself. A couple of examples:

I'll let you know if I run into more :)