How to create a custom post type with additional fields?

You can use add_meta_box (see also User Contributed Notes for examples) to add custom fields to your custom post type. If you don’t feel like adding the metaboxes by yourself, you can also use a custom fields plugin (E.g. Advanced Custom Fields, CMB2, Pods, Carbon Fields.. I’m not affiliated to any of these) to do it for you.

There are good articles, with code examples, about custom meta fields and custom post types on the developer handbook. You should check them out.

If you need to group the custom posts or do sorting or searching based on the extra information (color, maybe?), then consider using custom taxonomy instead.