Added a repository class, and an concrete implemenation example to decouple the website from the method of retrieving the data so now it is just reliant on an implementation of BaseRepository instead of directly calling the api or database