How cwaynes/ember works
Ember is an offline-first Bible study application centered on reading Scripture and opening contextual study tools from selected verses. The main workflow runs from chapter navigation and verse selection into reference, language, and personal-study tools; notes, tags, bookmarks, and markups accumulate locally against passages. Search and reading plans provide additional ways to revisit and structure study. The sampled source supports the app initialization, reader/database access, plans persistence, and language queries; some other feature connections are described by the README but their implementation wiring was not sampled.
Main entry points: db.js Database access · reader.js Scripture reader · reference.js Reference panel · language.js Original-language study
Components 21
Reading and navigation
- Scripture reader
js/reader.js - Verse selection
js/selection.js - Bible translations
data/translations - Unified search
js/search.js
Contextual study
- Reference panel
js/reference.js - Original-language study
js/language.js - Morphology decoding
js/grammar-decode.js - Topics and cross-references
data/core.db
Personal study data
- Notes and studies
js/notes.js - Note tags
js/tags.js - Bookmarks
js/bookmarks.js - Text markups
js/markups.js - Reading plans
js/plans.js - Study templates
js/study-templates.js
Local data and offline
- Database access
js/db.js - Core study data
data/core.db - Language data
data/language.db - Local persistence
js/storage-worker.js - Offline app cache
sw.js - Application startup
js/app.js
Other components
- Bible student
Connections 28
- Bible student → Scripture reader: navigates
- Scripture reader → Database access: loads chapters
- Database access → Bible translations: queries verses
- Scripture reader → Verse selection: selects verses
- Verse selection → Reference panel: opens context
- Reference panel → Topics and cross-references: reads related data
- Reference panel → Original-language study: opens language tab
- Original-language study → Database access: queries words
- Original-language study → Morphology decoding: decodes morphology
- Morphology decoding → Database access: looks up categories
- Database access → Language data: queries language data
- Bible student → Notes and studies: creates notes
- Notes and studies → Database access: saves notes
- Bible student → Bookmarks: saves verses
- Bookmarks → Database access: stores bookmarks
- Bible student → Text markups: marks verses
- Text markups → Database access: stores markups
- Notes and studies → Note tags: adds tags
- Bible student → Unified search: searches study data
- Unified search → Database access: queries results
- Bible student → Reading plans: manages plans
- Reading plans → Database access: imports plans
- Bible student → Study templates: starts a study
- Application startup → Database access: initializes
- Database access → Core study data: reads and writes
- Database access → Local persistence: dispatches writes
- Local persistence → Core study data: persists bytes
- Application startup → Offline app cache: registers service worker