Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature request: Admin system #168

Open
cimicdk opened this issue Feb 21, 2020 · 3 comments
Open

Feature request: Admin system #168

cimicdk opened this issue Feb 21, 2020 · 3 comments
Assignees

Comments

@cimicdk
Copy link

cimicdk commented Feb 21, 2020

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
Copy link

rhyder commented Feb 21, 2020

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
Copy link
Owner

@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
Copy link
Author

cimicdk commented Feb 22, 2020

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

  • Api/web/public use cases together with admin specific usecases
  • Repositories that gets quite big as they contain methods for both admin and Api usecases. With the exception of a couple of Get methods, half the repository belongs to Api usecases and the other half belongs to the admin system
  • Admin system needing joined information for the entites. For example needing to show a list that contains: product id, product name, order details and user name, user contact information where we have the entites Product, Order and User. (my guess is a new entity type with its own repository)
  • Api and Admin requiring different parts of the same data. E.g. admin needing to read and write data that is not available for the public api.

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants