The first issue: There is no consistency with the branding of your plugin.
Plugin Permalink Here: "Easy Book Reviews"
Plugin Name (Heading): "Book Reviews"
Plugin Name (WordPress backend): "Chapter 4 - Book Reviews V3"
Plugin Directory Name: /easy-book-reviews/
Plugin File Name: ch4-book-reviews.php
Plugin Custom Post Type Name: "Book Reviews"
Plugin Permalink: book_reviews
Because of the inconsistency with the naming, the one thing that's broken for sure is the rating images. They use the permalink of "
And unfortunately, with other custom post types, most people won't know that they'll need to refresh permalinks for it to work properly. So until then it shows up as a 404 once published.