Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • 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