Android App to keep track of books that you are reading.
Makes use of Google's Books API to search books and uses firestore to store any user related data and book stats.
The app was built with clean architecture in mind and the MVVM pattern. Uses Jetpack Compose and Material 3 components for the UI layer.
- Compose: Modern UI designed with the compose declarative approach with Material3.
- Retrofit: Make network calls to Google's Books API.
- Paging3: Pagination of book search results and user book stats.
- Firebase Auth: Handle user authentication and registration.
- Firebase Firestore: Save the user's data and books stats.
- Dagger-Hilt: Handle dependency injection.
- Register to use the app
- Search for books and add them to your reading queue.
- Filter the search to get more accurate results.
- See all the books you've added based on their reading status.
- Update the reading status of a book to keep track of the books you are reading, have read and have in your queue.
- Add a rating and comments to your books
- Remove books from your list
- Supports light and dark theme
If you download or clone this repo, in order to make it work, you should:
- Follow the instructions given in the official documentation on how to add Firebase to your project.
- Enable firebase authentication with email and password as sign-in method.
- Enable Cloud firestore as database
- Create a composite index containing the
status
(ASC) andcreatedAt
(DESC) fields for thebook_stats
collection.
- Create a composite index containing the
- Profile screen with stats
- Tests