advplyr / audiobookshelf

Self-hosted audiobook and podcast server
https://audiobookshelf.org
GNU General Public License v3.0
6.72k stars 473 forks source link

Enhancement: Goodreads intergration #68

Closed Jdiesel87 closed 3 years ago

Jdiesel87 commented 3 years ago

I know you have lots going on right now but I just wanted to plant this seed early on as it might require some thought when working on other components.

It would be amazing to have Audiobookshelf integrate with the Goodreads API.

https://www.goodreads.com/api

The biggest use cases I can think of would be tracking owned and read books, and getting book recommendations displayed in Audiobookserver. This might require that books in your library have ISBNs to match up correctly though.

advplyr commented 3 years ago

Unfortunately goodreads has shutdown their Api for the public. This is part of the reason why the matching functionality is not very good. Originally I intended to have books auto-matched like Plex and others, but the solutions were so inaccurate I didn't move forward with it

Jdiesel87 commented 3 years ago

Ah I must have missed that. That is part of the problem with auto-matching books of any type, there are multiple and in some cases 100's of editions of books that populate during a search.

From what I can tell you've decided on the OpenLibrary API for the matching

advplyr commented 3 years ago

I went with OpenLibrary only because of the lack of alternatives. Another project I've been seriously considering is an open source book api. I'm thinking of some way to allow users of AudioBookshelf to contribute their cleaned up data to the database, so others with the same book can benefit.

advplyr commented 3 years ago

This really ties in to what you said about setting the standard. The book details need to be standardized.

One thing that's been bothering me is the tags dropdown on the edit details modal. Tags are for helping users organize their own way, and would not be relevant to other users with the same book. The book details modal should only be details specific to the book.

Jdiesel87 commented 3 years ago

That would be the ultimate solution, although a lot of work. The good thing is that the type of user likely to maintain their own audiobook library is the same type of person to be meticulous about curating and organizing their collection.

To take things a step further including some machine learning or acoustic fingerprinting could increase the matching success greatly. I had some really good success using chromaprint/AcoustID to identify and tag a large music library with very good accuracy.

Jdiesel87 commented 3 years ago

It's almost like there needs to be book details which is made up of concrete information (Title, Author, date, series, etc.) and user notes which is subjective (tags, comments, ratings, etc)

advplyr commented 3 years ago

I think the first step now is to get a list of all the information we would want stored about a book. Not all of the information needs to map to an ID3 tag, but we should note the ones that will.

max-prime-math commented 1 year ago

I wonder if Bookwyrm would be a good replacement for Goodreads.