While doing so, I had the chance to optimize a few things on the modelization:
remove "administrators" field on the Group model as it is already covered by the "members" field + the "is_administstrator" property on the membership,
The Label model had ManyToMany fields with Meetings, Rooms and Groups but it is more natural to do it the other way around because what we want is to add labels to meetings, rooms and groups,
add explicit ordering for all models
add database constraint to ensure the start date is always before the end date
add validation on save for all models
After doing all these optimizations, I added a full test suite to battle test factories and models.
Purpose
We want to add a full test suite on models.
Proposal
After doing all these optimizations, I added a full test suite to battle test factories and models.