https://github.com/lixoten/codelab-bookshelf-app-android-kotlin-compose
The App display asynchronously downloaded images of the books along with their titles in a vertical grid. In Addition it lets the user Search for Books
https://github.com/lixoten/codelab-bookshelf-app-android-kotlin-compose
android dependencyinjection google-books-api jetpack-compose lazygrid repository uistate viewmodel
Last synced: about 1 month ago
JSON representation
The App display asynchronously downloaded images of the books along with their titles in a vertical grid. In Addition it lets the user Search for Books
- Host: GitHub
- URL: https://github.com/lixoten/codelab-bookshelf-app-android-kotlin-compose
- Owner: lixoten
- Created: 2023-02-10T03:30:14.000Z (about 2 years ago)
- Default Branch: end
- Last Pushed: 2023-02-10T03:30:20.000Z (about 2 years ago)
- Last Synced: 2024-04-18T05:46:55.898Z (about 1 year ago)
- Topics: android, dependencyinjection, google-books-api, jetpack-compose, lazygrid, repository, uistate, viewmodel
- Language: Kotlin
- Homepage:
- Size: 1.76 MB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
Awesome Lists containing this project
README
# Demo Internet Access App - Bookshelf App
Simple app to demonstrate internet access.
The app lets the user Search for Books via Google Book API
The App display asynchronously downloaded images of the books along with their titles in a vertical grid.### In Addition to project requirements I did the following
- Added new feature. Tag book as favorite
- A favorite button is displayed with each book item
- Clicking on the Favorite Button add/removes the book from the favorite list
- A new Favorite Book screen (Display the list of books that have been
tagged as favorite)
- New Book Detail Screen (via clicking on a book)
**Note** - Favorite books is not saved to a Room database, (have not learned room DB yet, will return to this project for that)### Some goals
- use Google Book API
- multiple screens to use NavHost
- Use repository
- Use Dependency Injection Container
- use multiple viewModels
- use multiple uiState
- allow user to search
- NavigateUp(Back Arrow in TopAppBar)
- use rememberScrollState## Need to Revisit
- Search for string "Questions:"
- Basically.... How not to pass the viewModel downwards to composables
- Hoist Favorites up a couple of composables up.. not sure how to do it
- bold just a part of the string?
- not repeat/duplicate code block for factory[App was a based on Codelab "Project: Create a Bookshelf app" at developer.android](https://developer.android.com/courses/pathways/android-basics-compose-unit-5-pathway-2#codelab-https://developer.android.com/codelabs/basic-android-kotlin-compose-bookshelf )
### ScreenShots
![]()
![]()
![]()
![]()
![]()
![]()
![]()
---ref: codelab-bookshelf-app-android-kotlin-compose