implemented migration, model with validation and covered theses validations with unit tests