{"id":19635628,"url":"https://github.com/codepath/android-booksearch-exercise","last_synced_at":"2025-04-06T02:11:08.219Z","repository":{"id":26975660,"uuid":"30439244","full_name":"codepath/android-booksearch-exercise","owner":"codepath","description":"Android app for searching books using the OpenLibrary api.","archived":false,"fork":false,"pushed_at":"2021-07-20T03:13:41.000Z","size":147,"stargazers_count":53,"open_issues_count":1,"forks_count":375,"subscribers_count":54,"default_branch":"master","last_synced_at":"2025-03-30T01:11:12.479Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/codepath.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-02-07T00:21:13.000Z","updated_at":"2024-11-15T11:43:46.000Z","dependencies_parsed_at":"2022-07-27T09:02:42.950Z","dependency_job_id":null,"html_url":"https://github.com/codepath/android-booksearch-exercise","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codepath%2Fandroid-booksearch-exercise","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codepath%2Fandroid-booksearch-exercise/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codepath%2Fandroid-booksearch-exercise/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codepath%2Fandroid-booksearch-exercise/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codepath","download_url":"https://codeload.github.com/codepath/android-booksearch-exercise/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247423515,"owners_count":20936626,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-11T12:26:08.049Z","updated_at":"2025-04-06T02:11:08.197Z","avatar_url":"https://github.com/codepath.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Book Search App\n\nAndroid app that leverages the [OpenLibrary API](https://openlibrary.org/developers/api) to search books and display cover images. This app is to be used as the base app for adding suggested extensions.\n\n![Imgur](http://i.imgur.com/NJmF42Yl.png)\n\n## Overview\n\nThe app does the following:\n\n1. Fetch the books from the [OpenLibrary Search API](https://openlibrary.org/dev/docs/api/search) in JSON format\n2. Deserialize the JSON data for each of the books into `Book` objects\n3. Build an array of `Book` objects and notify the adapter to display the new data. \n4. Define a view holder so the adapter can render each book model. \n\nTo achieve this, there are four different components in this app:\n\n1. `BookClient` - Responsible for executing the API requests and retrieving the JSON\n2. `Book` - Model object responsible for encapsulating the attributes for each individual book\n3. `BookAdapter` - Responsible for mapping each `Book` to a particular view layout\n4. `BookListActivity` - Responsible for fetching and deserializing the data and configuring the adapter\n\n## Usage\nThis app is intended to be the base project on top of which new features can be added. To use it, clone the project and import it using the following steps:\n\n![Imgur](http://i.imgur.com/joPKoTk.gif)\n\n## Suggested Extensions\n\n1. Use SearchView to search for books with a title\n2. Show ProgressBar before each network request\n3. Add a detail view to display more information about the selected book from the list\n4. Use a share intent to recommend a book to friends\n\n## Libraries\n\nThis app leverages two third-party libraries:\n\n * [AsyncHttpClient](https://github.com/codepath/AsyncHttpClient) - For asynchronous network requests\n * [Glide](https://github.com/bumptech/glide) - For remote image loading\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodepath%2Fandroid-booksearch-exercise","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodepath%2Fandroid-booksearch-exercise","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodepath%2Fandroid-booksearch-exercise/lists"}