Overview

The bible App is an app that allows the user to navigate through the books and chapters of the bible easily. This app uses the Holy Bible api that provides the content of the bible.

I created this app in the process of learning Jetpack Compose on my own. Jetpack Compose is the new UI framework recommended by Google to build android apps.

The screenshot of the Bible App's home screen

The features

  • Listing the books of the 2 Testaments (Old and New)

  • Access the content of a book’s chapter

  • Text to speech: the app will read aloud the content of the chapter for the user. This feature will be particularly helpful for users having vision impairment.

  • Settings:

    • Activate or disable the Text to speech feature

    • Change the font size of all the text in the app from small, medium or large

    • Choose the appearance mode from Dark mode or light mode

ScreenShots

Below you can see 3 screenshots coming from the app. The first one is the screen showing all the chapters from one of the books (Genesis in this case). The second shows the scrollable content of a chapter and at the top, you can see the 2 buttons Play (to read out loud the text) and Stop (to stop the out loud reading). The third screenshot is showing the Settings screen giving the user the option to enable/disable the Text To Speech feature, the option to switch to Dark Mode and to change the font size.

Book Screen with the list of chapters

Chapter Screen

Settings Screen

Technologies

The technologies that I used during this project are:

  • Kotlin as the programming language

  • Jetpack Compose as the UI Framework

  • Android Studio as the IDE

  • The Holy Bible API by Ajith Joseph as the API to get the data

  • Retrofit library to fetch the data from the Holy Bible API

The technologies used in the Bible App

The Process and/or Concepts that I practiced

As I said in the Overview section, building this app was a practical way for me to learn Jetpack Compose. So, in this journey, some of the concepts I was happy to experiment with this framework include: Interaction between UI and State, Navigation, MVVM Architecture, Dependency Injection etc.

Demo - Video

Here is a video showing the Bible App in action.