add product Category model
Complete product category page

You can add multiple category levels as you want.
Also, you can change the category order.
Move the Product from one category to another.
update slug if the category or product changed