Skip to content

Latest commit

 

History

History
209 lines (151 loc) · 7.4 KB

File metadata and controls

209 lines (151 loc) · 7.4 KB

📚 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