Skip to content

KerimSikalo/BookFinderApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

8 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“š BookFinder App

Discover Your Next Great Read

Kotlin Jetpack Compose Material 3 Android License


🎯 About The App

BookFinderApp is a modern Android application built with Kotlin and Jetpack Compose that transforms the way you discover and organize books. With an intuitive interface and powerful search capabilities, finding your next favorite book has never been easier.

"Every book is a new adventure waiting to be discovered."

✨ Why BookFinderApp?

  • Lightning Fast Search: Find books instantly by title
  • Offline Access: Save your discoveries for later, even without internet
  • Beautiful Design: Modern Material 3 UI that's easy on the eyes
  • Simple & Clean: Focus on what matters - discovering great books

πŸš€ Features

πŸ” Smart Search

  • Search thousands of books by title using online providers
  • Real-time search suggestions and results
  • Fast and responsive search experience

πŸ“– Detailed Book Information

Information Description
πŸ“ Title & Author Complete book details and author information
🏒 Publisher Publishing house and publication details
🏷️ Categories Genre and topic classifications
πŸ“„ Description Full book synopsis and overview
πŸ–ΌοΈ Cover Art High-quality book cover images

πŸ’Ύ Local Storage & Management

  • Save Books: Keep your discoveries in a personal library
  • Offline Access: View saved books anytime, anywhere
  • Easy Management: Remove books with a single tap
  • Persistent Storage: Your library survives app restarts

🏠 Personalized Home Screen

  • View all your saved books in one place
  • Quick access to book details
  • Clean, organized book collection display

πŸ› οΈ Tech Stack

Category Technology Purpose
Language Kotlin Primary development language
UI Framework Jetpack Compose Modern declarative UI
Design System Material 3 Google's latest design language
Database Room Local data persistence
Navigation Navigation Compose Screen transitions
Image Loading Coil Efficient image loading

πŸ—οΈ Architecture Components

  • Room Database: Local storage and data management
  • Content Provider: Data sharing and persistence layer
  • Repository Pattern: Clean separation of data sources
  • MVVM: Modern Android architecture pattern

πŸš€ Getting Started

πŸ“‹ Prerequisites

  • Android Studio Arctic Fox or newer
  • Android SDK 21+ (Android 5.0+)
  • Kotlin 1.8+

πŸ”§ Installation

  1. Clone the repository

    git clone https://github.com/KerimSikalo/BookFinderApp.git
    cd BookFinderApp
  2. Open in Android Studio

    • Launch Android Studio
    • Select "Open an existing project"
    • Navigate to the cloned repository
  3. Sync dependencies

    • Click "Sync Project with Gradle Files"
    • Wait for the sync to complete
  4. Run the app

    • Connect an Android device or start an emulator
    • Click the "Run" button or press Ctrl+R

πŸ“± Screenshots


πŸ—οΈ Project Structure

πŸ“¦ BookFinderApp
β”œβ”€β”€ πŸ“‚ ui/screens/           # Jetpack Compose screens
β”‚   β”œβ”€β”€ HomeScreen.kt        # Main library view
β”‚   β”œβ”€β”€ SearchScreen.kt      # Book search interface
β”‚   └── DetailsScreen.kt     # Book details view
β”œβ”€β”€ πŸ“‚ repositories/         # Data layer
β”‚   └── BookRepository.kt    # Data fetching & persistence
β”œβ”€β”€ πŸ“‚ model/               # Data models
β”‚   └── Book.kt             # Book entity definitions
β”œβ”€β”€ πŸ“‚ components/          # Reusable UI components
β”‚   └── BookCard.kt         # Book display components
└── πŸ“‚ provider/            # Data providers
    └── BookProvider.kt     # Content provider logic

🎯 Usage

πŸ” Searching for Books

  1. Open the app and navigate to the Search screen
  2. Enter a book title in the search bar
  3. Browse through the results
  4. Tap on any book to view detailed information

πŸ’Ύ Saving Books

  1. From the book details screen, tap the "Save" button
  2. The book will be added to your personal library
  3. Access saved books from the Home screen anytime

πŸ—‘οΈ Managing Your Library

  • View all saved books on the Home screen
  • Tap any book to view details again
  • Remove books with a single tap on the delete button

🀝 Contributing

Contributions make the open-source community an amazing place to learn, inspire, and create! Any contributions you make are greatly appreciated.

πŸ”§ How to Contribute

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ› Bug Reports

Found a bug? Please open an issue with:

  • Device and Android version
  • Steps to reproduce
  • Expected vs actual behavior
  • Screenshots (if applicable)

πŸ™ Acknowledgments

  • Google for Jetpack Compose and Material Design
  • Book APIs for providing comprehensive book data
  • Android Community for excellent documentation and tutorials
  • Open Source Contributors who inspire continuous learning

πŸ“¬ Contact

Kerim Sikalo


Built with ❀️ and β˜• by Kerim Sikalo

Empowering readers to discover their next great adventure

⭐ Star this repo 🍴 Fork this repo

About

An intuitive mobile app for discovering and exploring books with descriptions, based on user search input.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages