Improvement and addition

1.Changes some codes to DRY
2. Directory clean up
3. Added customer repo, product item repo and product repo