added a repository project with a generic based unit of work pattern implementation