https://flecart.github.io/notes/data-models-and-validation/
Data Models and Validation