How sunnybabu0088/bible-vault works
BibleVault pairs an offline-first Android Bible study app with a backend that brokers Scripture-grounded AI requests. The user journey starts in the app, where readers browse Scripture and use study, tracing, and annotation features; AI questions travel through the mobile repository to a protected backend, which queues and processes them before routing to an AI provider. Local Room storage supports Scripture, conversations, bookmarks, highlights, and notes, while preferences retain reading progress and appearance. README documents several capabilities whose detailed wiring was not sampled, so uncertain internal links are omitted.
Main entry points: MainActivity.kt App entry & navigation · BibleVaultDatabase.kt Room database · BibleScreen.kt Bible reader · RealAiRepositoryImpl.kt AI repository
Components 23
Android app
- App entry & navigation
app/src/main/java/com/biblevault/app/MainActivity.kt - AI HTTP client
app/src/main/java/com/biblevault/app/data/remote/AiApiService.kt
Scripture study
- Bible reader
app/src/main/java/com/biblevault/app/feature/bible/BibleScreen.kt - Home & progress
app/src/main/java/com/biblevault/app/feature/home/HomeScreen.kt - Study & explore
app/src/main/java/com/biblevault/app/feature/explore/ExploreScreen.kt - Verse tracing
app/src/main/java/com/biblevault/app/feature/trace/TraceVerseScreen.kt - Notes & bookmarks
app/src/main/java/com/biblevault/app/feature/notes/NotesScreen.kt - AI assistant
app/src/main/java/com/biblevault/app/feature/ask/AskScreen.kt
Local data
- Bible repository
app/src/main/java/com/biblevault/app/data/repository/OfflineBibleRepository.kt - Scripture importer
app/src/main/java/com/biblevault/app/data/importer/BibleDataImporter.kt - Annotation repositories
app/src/main/java/com/biblevault/app/data/repository/BookmarkRepositoryImpl.kt - Reading preferences
app/src/main/java/com/biblevault/app/data/preferences/UserPreferencesRepository.kt - Room database
app/src/main/java/com/biblevault/app/data/local/BibleVaultDatabase.kt - AI repository
app/src/main/java/com/biblevault/app/data/repository/RealAiRepositoryImpl.kt
AI backend
- API gateway
backend/server.js - Identity & app checks
backend/middleware/auth.js - Request queue
backend/services/aiQueue.js - Bible agent
backend/services/bibleAgent.js - Bible search
backend/services/bibleSearch.js - Provider router
backend/services/aiRouter.js
AI providers
- Google Gemini
- Groq
Other components
- BibleVault user
Connections 25
- BibleVault user → App entry & navigation: opens
- App entry & navigation → Bible reader: navigates
- App entry & navigation → Home & progress: navigates
- App entry & navigation → Study & explore: navigates
- App entry & navigation → Verse tracing: navigates
- App entry & navigation → Notes & bookmarks: navigates
- App entry & navigation → AI assistant: navigates
- Bible reader → Bible repository: reads Scripture
- Scripture importer → Room database: imports datasets
- Bible repository → Room database: reads Scripture
- Notes & bookmarks → Annotation repositories: manages annotations
- Annotation repositories → Room database: persists annotations
- Home & progress → Reading preferences: reads progress
- Bible reader → Reading preferences: saves progress
- AI assistant → AI repository: sends questions
- AI repository → Room database: stores conversations
- AI repository → AI HTTP client: sends chat request
- AI HTTP client → API gateway: posts chat
- API gateway → Identity & app checks: verifies request
- API gateway → Request queue: enqueues request
- Request queue → Bible agent: runs task
- Bible agent → Bible search: retrieves Scripture
- Bible agent → Provider router: requests generation
- Provider router → Google Gemini: generates answer
- Provider router → Groq: fails over