https://github.com/tinribs507/find-a-book
This Android application demonstrates my ability to integrate apps with external APIs and follow best practice. Find a Book (FAB) leverages Google Books API to allow users to search for books based on key words, titles, subjects, publishers and dates published.
https://github.com/tinribs507/find-a-book
android api-rest best-practices data-handling jetpack-compose kotlin moshi mvvm-architecture navigation repositories retrofit search-functionality unit-testing viewmodel-livedata
Last synced: about 2 months ago
JSON representation
This Android application demonstrates my ability to integrate apps with external APIs and follow best practice. Find a Book (FAB) leverages Google Books API to allow users to search for books based on key words, titles, subjects, publishers and dates published.
- Host: GitHub
- URL: https://github.com/tinribs507/find-a-book
- Owner: Tinribs507
- Created: 2024-11-16T08:26:48.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-07T08:25:35.000Z (12 months ago)
- Last Synced: 2025-01-21T05:25:15.224Z (10 months ago)
- Topics: android, api-rest, best-practices, data-handling, jetpack-compose, kotlin, moshi, mvvm-architecture, navigation, repositories, retrofit, search-functionality, unit-testing, viewmodel-livedata
- Language: Kotlin
- Homepage:
- Size: 163 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Find a Book (FAB) App
This is a simple Android application that utilizes Google Books API to allow users to search for books by keywords, titles, authors, subjects, and publishers.
After the user enters the search criteria they are navigated to a results pages that displays a relevant list of books.
## Features
* Keyword Search: Search for books using various keywords.
* Advances Search Options: Filter results by book titles, authors, publishers and subjects.
* Results Display: View a list of books that match the search criteria on a dedicated results page.
* Detailed Book Information: Access detailed information about each book.
## Technologies Used
* Kotlin: For developing the Android application.
* Jetpack Compose: For builing the UI in a declarative manner.
* Retrofit: For making API calls to the Google Books API.
* Moshi: For JSON parsing.
* ViewModel & LiveData: For managing UI-related data and lifecycle-conscious data updates.
* Unit Testing & Mockito: For ensuring code correctness and reliability through tests using Junit
## Future Enhancements:
* Extended Information: Implement a click feature on the books card, that takes users to a display with more info about the book.
* Pagination: Implement pagination to load more results as the user scrolls.
* Favorites: Allow users to save their favourite books.
* Offline Support: Cache results for offline access.