Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Devansh-Maurya/PukaPuka
An Android app to identify books from their covers and give info, built using ML Kit's Text Recognition API, Android Jetpack Libraries and Google Books API
https://github.com/Devansh-Maurya/PukaPuka
Last synced: 2 months ago
JSON representation
An Android app to identify books from their covers and give info, built using ML Kit's Text Recognition API, Android Jetpack Libraries and Google Books API
- Host: GitHub
- URL: https://github.com/Devansh-Maurya/PukaPuka
- Owner: Devansh-Maurya
- Created: 2019-04-02T04:54:14.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2020-09-29T18:17:12.000Z (over 4 years ago)
- Last Synced: 2024-08-03T17:10:55.848Z (6 months ago)
- Language: Kotlin
- Homepage:
- Size: 1.21 MB
- Stars: 20
- Watchers: 2
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-android-kotlin-apps - PukaPuka - Maurya](https://github.com/Devansh-Maurya) | An Android app to identify books from their covers and give info, built using ML Kit's Text Recognition API, Android Jetpack Libraries and Google Books API</br></br> <b>Tech Stack</b> : LiveData, ViewModel, Navigation Components, CameraKit, Firebase ML Kit Text Recognition API, Glide, Volley, Lottie </br></br> <i> Last commit: 3 years ago</i> | π 19 </br> π΄ 2 </br> ποΈ 2 | (:art: Pattern / MVVM)
README
PukaPuka
#### An Android app that helps to get information about any book by either scanning its cover. PukaPuka comes from the Maori word for βBookβ.
#### The app was also an example to showcase the various design patterns used in an Android app.#### [Checkout the presentation](https://www.slideshare.net/DevanshMaurya/pukapuka-presentation)
#### [Detailed Report (PDF)](https://drive.google.com/open?id=1C2GzC1R36ZzM7iOpnSlr0cWrwtR1iE9d)## How it works?
* The app uses Firebase **ML Kitβs Text Recognition API** to recognize text from the image captured using device camera.
* The text extracted from the image is then filtered to remove unwanted information.
* The filtered text is then used to make a GET request to **Google Books API** to get a list of relevant books.
* The user can then click on an image that suits best with the scanned book cover and get information about it.## Screenshots
| Home Screen | Scanning the book |
| ------------- | ------------- |
| ![](https://github.com/Devansh-Maurya/PukaPuka/blob/master/screenshots/home.png) | ![](https://github.com/Devansh-Maurya/PukaPuka/blob/master/screenshots/book_scanning.png) || Matching books list | Book details |
| ------------- | ------------- |
| ![](https://github.com/Devansh-Maurya/PukaPuka/blob/master/screenshots/books_list.png) | ![](https://github.com/Devansh-Maurya/PukaPuka/blob/master/screenshots/book_details.png) |## Technologies Used
* **Kotlin** as the main programming language
* **MVVM** architecture pattern using the Android Architecture Components
* **LiveData, ViewModel**
* **Navigation Components** for simplified navigations
* **CameraKit** for using camera functionalities
* **Firebase ML Kit Text Recognition API** for extracting text from the image
* **Glide** image loading library
* **Volley** networking library for making network requests
* **Lottie** for adding animations