Comments (9)
Hi. Just wanted to also send some kudos out to @phalt for writing this up. I've been trying this out with a few of my new Django projects. Thanks for your thoughtfulness and work. I look forward to providing any helpful feedback possible. I'm also really interested in the eventsourcing library (https://eventsourcing.readthedocs.io/en/v9.0.3/) and CosmicPython (https://www.cosmicpython.com/book/preface.html). I would like to try to blend the patterns together. Has anyone reading this tried something like that already and has learnings to share?
from django-api-domains.
@phalt I've been using your style-guide quite successfully on a small personal project. Doing so has definitely helped me solidify my mental model of DDD concepts, which is extremely valuable. I'd be keen on discussing the shortcomings you encountered that caused you to abandon this approach. Perhaps the discussion can drive a renewed attempt at a DDD+Django standard. Appreciate any thoughts you care to share. Thanks in advance!
from django-api-domains.
I've been absent for ages dealing with being a new parent, so it is nice to come back to praise. Thank you so much! It is not perfect, but if it works for you then that is great.
from django-api-domains.
I built this with a few goals in mind, and I was lucky enough to be actively working on projects that used the guidelines. Because of this, I got "free" feedback to improve the guidelines as we used them and found bugs or design decisions that didn't work for the project.
So the reason I've set this to unmaintained is not because it's invalid or irrelevant - I just don't actively use it anymore and I feel like that means I won't be able to improve it any more.
Besides, the last merge change was nearly a whole year ago, so I don't think it's going to change much now. If it does change, it'll probably be drastically, and with that, might not even be suitable under the same name.
Keep using it, but be aware that a whole section of the documentation tells you to use what works, and discard what doesn't work, for you.
I do know people are using it a lot, and I really like seeing discussions like this: https://www.reddit.com/r/django/comments/f140f8/django_and_ddd/
That said, I do wish the people with negative opinions let me know directly so I can improve my own knowledge and improve this documentation.
from django-api-domains.
Hey, @phalt yes I agree to remove the unmaintained warning as it did make me initially think that I shouldn't use this style guide because it's "unmaintained" - I'd instead opt for terminology like "this project is now stable and unlikely to change drastically in the near future".
from django-api-domains.
Here's a suggestion, let me know what you think:
- I'll remove the "unmaintained" warnings because they sound like the project is no longer usable.
- I'd like to solicit some feedback from people actively using it to see how we can improve the documentation.
- I'd like to get some PRs up from contributors with those suggested changes.
from django-api-domains.
Congrats on parenthood! That's great!
from django-api-domains.
This is great guideline.
I have one concern regarding to apis.py role.
When we build RESTful apis, the apis will be placed inside apis.py.
In that case, from the other domain interface, it won't reference apis.py as it returns http request.
Could you elaborate more about this case?
Thank you
from django-api-domains.
@flyingdev in your case, you'd be using the interfaces.py
in your own domain as an abstraction over the services.py
of the other domain. That is the boundary of separation in this instance, not an HTTP API but an interface layer. Does that make sense?
from django-api-domains.
Related Issues (20)
- [FEEDBACK] Please, take a look at the dry-python project.
- [FEEDBACK] Further clarify the role of interfaces.py HOT 10
- [QUESTION] How to use serializers from other domains for nested relationships HOT 5
- [QUESTION] Can you provide an example using DRF?
- [FEEDBACK] Dry-Python HOT 3
- [FEEDBACK]Isn't this styleguide encouraging anemic domain models? HOT 2
- [QUESTION] What's the best way to handle errors between apps? HOT 3
- [QUESTION] Restrictions on data types that services may return. HOT 2
- [QUESTION] Model relationships between domains. HOT 3
- [FEEDBACK] Can cover your thoughts on value object? HOT 2
- [FEEDBACK] Clarify with DRF HOT 5
- [QUESTION] How do you handle models that are used in more than 1 domain/app? HOT 4
- [FEEDBACK] Thoughts on foreign key fetching? HOT 1
- [Question] Thoughts on where/how permissions are enforced? HOT 2
- [FEEDBACK] What about rich models? HOT 2
- [QUESTION] Models required across multiple domains HOT 1
- [FEEDBACK] - Domain Rules numbered list issue
- [FEEDBACK] Example needs more than one domain HOT 2
- [FEEDBACK] Change "All data returned from APIs must be JSON serializable." HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from django-api-domains.