Add product repository
Move repositories requires to its own file
Add missing ProductRepository