Need help with reducing cost of view's group by
I can't see your indexes, but something worth trying is to grab the copy count in a subquery or CROSS APPLY: 

SELECT Product.title, CONCAT(Author.firstName, ' ', Author.lastName) as Author_name, ProductType.pType as Product_type, Product.lendable, BC.Copy_count
FROM Product
CROSS APPLY (
  SELECT COUNT(*) 
  FROM BookCopy 
  WHERE BookCopy.bisbn = Product.isbn
  AND BookCopy.Available = 'true'
  ) AS BC(Copy_count)
INNER JOIN Author on Product.authorId = Author.id
LEFT JOIN ProductType on ProductType.id = Product.typeId
WHERE BC.Copy_count&gt;0;