A use case of implementing Domain-Driven Design (DDD) in Django
2022-09-23, 12:25–12:55 (Europe/Lisbon), Auditorium

Our feedback on integrating some DDD tactical patterns in OSIS, a long-term open-source project for UCLouvain university.


We had the opportunity to apply DDD to Django in OSIS, a long-term project for managing students and their education for Université Catholique de Louvain in Belgium. After a year into the project implementing new features, it's time to provide our feedback to the Django community.

A general outline:
1. Intro to the OSIS project (goal, short history, actors, domain)
2. The why and when for choosing DDD
3. Common tactical patterns to implement in Python/Django
4. Recap and conclusion on our DDD usage and where to go from there
5. Questions

The project is open-sourced at https://github.com/uclouvain/ along with its numerous submodules which I will present shortly in the first part. I will take some time to explain the concepts of onion architecture and some DDD design pattern so it should be accessible enough for Django beginners. The code is not the key, but rather think communication and comprehension!

Edit post-talk: the slides that were presented are at https://sebcorbin.github.io/ddddjango/

Swam in open-source from day 1 of my developer life, never sank thanks to the community. Went from PHP/Drupal to Python/Django, never went back!