...
- An early version of this is at edX REST API Conventions, but needs to be updated and fleshed out with more recent wisdom.
12. Domain-drive Design Principles
- Build vs Buy → Core, Supporting, Generic
- Location of code (which IDA? which app?) → Bounded Context Responsibilities and Boundaries
- API as a Product → Domain models
- Inter-service interfaces → Business use cases
- Inter-service communication and relationships → Bounded Context life cycles versus Entity-based Services
13. Plugins and SOLID Principles
14. Celery usage
- celery-utils capabilities - LoggingTask and PersistOnFailureTask
- Using kwargs instead of positional args
- For real-time synchronization with management command as fallback of celery failures