Project model with validations