Commit Graph

8 Commits

Author SHA1 Message Date
kennethreitz 2d7e9843b0 updates to data storage 2025-11-30 21:26:59 -05:00
kennethreitz 6c4c23a83e Implement major performance optimizations (Phase 1)
Optimization #2: Replace O(n) verse filtering with cached methods
- Replace manual filtering loops with bible.get_verses_by_book_chapter()
- Replace chapter filtering with bible.get_chapters_for_book()
- 13 replacements in server.py
- Expected: 80-95% faster book/chapter pages after first access

Optimization #3: Build slug index for O(1) resource lookups
- Create pre-built slug indexes for all 38 resource dictionaries
- Replace O(n) linear search with O(1) hash lookup
- Add find_resource_by_slug() function to data module
- Expected: 95% faster resource page lookups

Combined expected improvement: 50-80% overall performance gain

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 12:00:13 -05:00
kennethreitz 64b63a5b8d Add systematic theology resources and update server routes
- Introduced new routes for systematic theology topics including Bibliology, Theology Proper, Anthropology, Hamartiology, Providence, Grace, Justification, Sanctification, Law and Gospel, and Worship.
- Each topic includes HTML and PDF endpoints for resource index and detail pages.
- Updated the resources page to include descriptions and counts for the new theology topics.
2025-11-26 21:08:50 -05:00
kennethreitz 105df4a18e Move embedded Python data to JSON files
- Move data from Python modules to JSON in data/ directory:
  - verse_collections.json, topics.json, biographies.json
  - cross_references.json, reading_plans.json, resources.json
- Update Python modules to load from JSON at import
- Remove intermediary Python data files from data/
- Move stories.py loader to main module directory
- Add Heroes of Faith Bible stories (Job, Ruth, Esther, Jonah, Daniel, Shadrach/Meshach/Abednego)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 10:30:31 -05:00
kennethreitz 23ce33e3b0 Add Bible Stories feature with adult and kids versions
- Add stories.py loader for JSON story files
- Add routes for /stories, /stories/{slug}, /stories/{slug}/kids
- Add templates: stories_index, story_detail, story_kids
- Include 32 stories across 4 categories (creation, patriarchs, exodus, conquest/judges)
- Add Bible Stories to homepage feature grid and explore links

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 23:53:03 -05:00
kennethreitz 65601d8b7f Add 11 systematic theology resources and simplify sidebar
New theological resources:
- The Trinity, Christology, Pneumatology, Soteriology
- Ecclesiology, Eschatology, Kingdom of God
- Types and Shadows, Messianic Prophecies
- The Blood in Scripture, Names and Titles of Christ

Updates:
- Add new resources to homepage Theological Studies grid
- Add Systematic Theology category to /resources page
- Simplify sidebar with single "All Resources" link
- Export new data variables from data/__init__.py

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 20:16:35 -05:00
kennethreitz e6a05c9697 test 2025-11-25 18:36:27 -05:00
kennethreitz b974c1ff7f Extract biblical resources routes to separate module
- Create data/ package with centralized resource data (1,287 lines)
  - BIBLICAL_LOCATIONS, ANGELS_DATA, PROPHETS_DATA, NAMES_DATA
  - PARABLES_DATA, COVENANTS_DATA, APOSTLES_DATA, WOMEN_DATA
  - FESTIVALS_DATA, FRUITS_DATA

- Create routes/resources.py with thin route handlers (562 lines)
  - Maps, angels, prophets, names of God, parables
  - Covenants, apostles, women, festivals, fruits of spirit
  - Tetragrammaton special page

- Reduce server.py from 11,518 to 8,437 lines (~3,081 lines removed)
- Eliminate data duplication between list and detail routes
- All 100 tests pass

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 19:17:27 -05:00