initial CRUD api for products with validations and documentation