I am using the Google books API to pull books and show them on my site. This is working great. However, I want to be able to allow users to favorite books they want to remember and also upvote or downvote books. Normally this would be easy. But the problem is that the books are not in my database, they come from calls to the API.
The problem is, how do I link favorites or votes to a book if books onl come from the api? So I thought that I could implement a function in voting and favoriting that first checks to see if the book is in my database, if it isn't then it adds it immediately then adds the persons vote. This would allow me to only put books in the DB when someone does the first vote or first favorite. However, how do I implement that and is that the best course to take?