Pocket Library is an Android application that helps users search, save, and manage books both online and offline. The app integrates with the Open Library API, local Room storage, Firebase Firestore synchronisation, and device capabilities such as the camera and contacts.
- Search books using the Open Library API
- Display book title, author, publish year, and official cover image
- Save favourite books locally using Room Database
- Offline support with manual book entry
- Search saved favourites offline
- Synchronise favourites with Firebase Firestore
- Capture and attach a personal cover photo using the camera
- Share book recommendations via contacts and implicit intents
- Responsive layouts for portrait, landscape, and tablet devices
- Scroll position and search query persistence across rotation and relaunch
- Kotlin
- Android Jetpack
- Room Database
- Firebase Firestore
- Open Library API
- RecyclerView / Lazy Lists
- Camera & Contacts Intents
-
Open Library Search API
https://openlibrary.org/dev/docs/api/search -
Open Library Covers API
https://openlibrary.org/dev/docs/api/covers
- Offline-first functionality
- Automatic Firebase sync after reconnecting to the internet
- Persistent UI state across configuration changes
- Accessibility support with readable text and image descriptions
- Responsive layouts for different screen sizes and orientations
Any additional third-party libraries used in this project are documented here with justification:
| Library | Purpose | Justification |
|---|---|---|
| Example: Coil | Image Loading | Efficient image loading and caching for book covers |
Unit: COMP2008 Mobile Application Development
Assignment: Assignment 2 – Pocket Library App
Semester: 2025, Semester 2

