- This
full-stack
web application allows for easy and effective study and reading of the Bible. I built this as a clone of the Literal word NASB Bible app which is an android mobile app use personally.
-
KJV Bible text with integrated Greek and Hebrew Lexicons, fetched using 2 APIs.
-
Tap on an underlined word to view Hebrew or Greek lexicon information. The application fetches all verses containing this word automatically.
-
A user can add
notes
to each word of the Bible as they study. -
A user can
highlight
the text in multitple colors using the mouse selection. -
The application has separate user highlights and notes pages that display an authenticated user's notes and highlights in
pagnated
grid format. -
The highlight and note taking features have create, read, update and delete options, with
realtime updates
fromGoogle firebase
. -
A user can select a passage by book, chapter and verse.
-
Light, dark, sepia and sand
color
themes -
custom
text size
andline spacing
. -
Auto scrolling
to the selected verse for enhanced user experience -
The application saves the users passage selection history and search history for later using
local storage
-
The search menu allows a user to search the Bible by
keyword
, e.g. "red", byStrong’s number
, e.g. "H8141" or byreference
, e.g. "1 John 3:13". The search results havevisual search filtering
using a bar chart and is uses basic pagnation. -
Responsive
design for desktop, tablet and mobile devices. -
The API used to fetch the english text can be found here here. The API used to fetch the Hebrew and Greek lexicons can be found here.
- Front-end
React
,JavaScript
&Next.Js
(Framework) &css
&html
- Back-end
Google Firebase
- Firebase Authentication, and database - Deployment-stack
Vercel
- Testing
React Testing Library
,Jest
- the search API used limits the results to 500 at a time, so for words that occur more than this eg "God" the visual search filter data is incomplete. One solution would be to have the application fetch all the verses in multiple requests in the background and store them but not display them to avoid slowing the site down. I may implement this in the future
The following are some features I may add subject to time:
- A bookmark feature to allow the user to bookmark a passage.