Added Unit Of Work and Generic Repository pattern, along with UserService class