This has got nothing specific to do with Drupal commerce.
It can be easily done with the views module.
- You can create a a page display, set all the fields that you want to
display.
- Create one contextual filter that will filter based on the
taxonomy term from the url.
- Create all the filters that you wish to display to the user.
- Make sure that you select the checkbox "expose
to the user" to make it visible to the end user.
You are good to go. If you are particular about having the filters side by side to the catalog, select the option create a block with the exposed filter option. And then place the block [available on your block listing page] accordingly.