Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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

Awesome Lists containing this project

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