Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bookworm

Bookworm is an Android book discovery app that lets users browse a collection of books, search by title, view detailed book information, and save favorite books to a personal list. The app includes Firebase-based authentication and profile management to provide a simple, personalized reading experience.

Features

  • User registration and login
  • Splash screen and clean navigation flow
  • Browse a curated list of books
  • Search books by title
  • View book details, including author, category, cover image, and description
  • Add books to a personal favorites list
  • Remove books from favorites
  • View and edit user profile information
  • Firebase integration for authentication and stored user data

Tech Stack

  • Language: Java
  • Platform: Android
  • Build Tool: Gradle
  • UI: XML layouts, AndroidX, Material Design
  • Backend Services: Firebase Authentication, Firebase Realtime Database, Firebase Storage
  • Image Loading: Glide

Screens

  • Splash Screen
  • Login
  • Sign Up
  • Home / Book List
  • Book Details
  • Favorites
  • Profile
  • Edit Profile

Project Structure

Bookworm/
|-- app/
|   |-- src/main/java/com/example/bookworm/
|   |   |-- MainActivity.java
|   |   |-- LoginActivity.java
|   |   |-- SignUpActivity.java
|   |   |-- DetailsActivity.java
|   |   |-- FavoritesActivity.java
|   |   |-- ProfileActivity.java
|   |   |-- EditProfileActivity.java
|   |   |-- Book.java
|   |   `-- BookAdapter.java
|   |-- src/main/res/
|   |-- google-services.example.json
|   `-- build.gradle
|-- build.gradle
|-- settings.gradle
`-- README.md

Getting Started

Prerequisites

  • Android Studio
  • JDK 17 or later
  • Android SDK with API level 34
  • Firebase project configured for Android

Installation

  1. Clone the repository:

    git clone https://github.com/Shuruq-Althowaibi/Bookworm-Android-.git
  2. Open the project in Android Studio.

  3. Create a Firebase project and add an Android app with this package name:

    com.example.bookworm
    
  4. Download your Firebase configuration file from the Firebase Console.

  5. Place it in the app module:

    app/google-services.json
    

    The real google-services.json file is ignored by Git because it contains project-specific Firebase configuration. Use app/google-services.example.json only as a safe reference.

  6. Sync the project with Gradle.

  7. Run the app on an emulator or Android device.

Firebase Setup

To use authentication and favorites storage, enable the following services in Firebase:

  • Authentication with email and password
  • Realtime Database
  • Storage, if profile image or file upload features are used

Make sure the Android package name in Firebase matches:

com.example.bookworm

Security Notes

  • Do not commit app/google-services.json.
  • Keep API keys and local configuration files out of version control.
  • If a key is ever pushed publicly, rotate or restrict it in Google Cloud Console.
  • Restrict Firebase API keys to the Android app package name and SHA certificate fingerprints when possible.

Future Improvements

  • Add book categories and advanced filters
  • Connect to a real books API
  • Add ratings and reviews
  • Improve favorite sync and offline support
  • Add dark mode support

License

This project was created for academic purposes as part of a university course. It is shared for learning and portfolio use only. Reuse, distribution, or modification is not permitted without permission from the author.

Contributors

This project was developed as a collaborative academic effort by:

About

Bookworm is an Android book app that lets users browse a collection of books, search by title, view details such as author, category, and description, and save favorite books to their personal list. The app also supports user login, signup, and profile management using Firebase.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages