Skip to content
Salem874 edited this page May 1, 2026 · 4 revisions

iHymns Wiki

A multi-platform Christian lyrics application for worship enhancement

Website: iHymns.app · Repo: GitHub · App version: 0.50.x · API spec version: 0.55.0


About iHymns

iHymns provides searchable hymn and worship-song lyrics from multiple songbooks, designed to enhance Christian worship across web and native devices. Browse, search, save favourites, build setlists, share them with your team — online or offline.


Song Library

Songbook Abbr. Songs MIDI Audio Sheet Music
Carol Praise CP 243 Yes Yes
Junior Praise JP 617 Yes Yes
Mission Praise MP 1,355 Yes Yes
SDA Hymnal SDAH 695
The Church Hymnal CH 702
Miscellaneous Misc 0
Total 3,612

Platforms

Platform Technology Status
Web PWA PHP 8.5+, Bootstrap 5.3.6, Vanilla JS (ES modules), Fuse.js Core + Enhanced complete
Apple (iOS / iPadOS / tvOS / visionOS / macOS / watchOS) Swift 6.3, SwiftUI Code complete
Android (+ Fire OS, Android TV) Kotlin 2.1, Jetpack Compose Code complete

All native clients drive the same surfaces the web admin uses via the public REST API documented in /api-docs.yaml. Every admin verb the web UI offers has a public-API counterpart with the same validation rules and audit-log trail.


Quick Links

For Users

For Developers


Admin surface highlights

A signed-in editor / admin / global_admin user can manage the app from /manage/:

  • Song Editor — per-song UPSERT with revision history, transactional save, bulk tag, restore from a previous revision.
  • Songbooks — CRUD with multi-licence sync, auto-pick palette colours, cascade delete with typed confirmation, IETF BCP 47 language tags.
  • Credit People — registry-wide deduplication, atomic rename across the five song-credit tables, merge with selective child-row migration.
  • Organisations & My Organisations — system-admin curation plus a data-driven org-admin surface for users who hold an admin/owner row in tblOrganisationMembers.
  • Users / Groups / Tiers — full CRUD with hierarchy enforcement, per-user CCLI verification.
  • Operations — Activity Log with error capture, Schema Audit (drift report), Setup Database (per-script + bulk migration runner), Data Health snapshot, Analytics, CCLI Usage Report.

Every surface is documented in the in-app help at /manage/help.


Two-Phase Approach

Phase ONE (Current) — v0.x.x / v1.x.x

  • Songs sourced from local .SourceSongData/ text files
  • Parsed into structured JSON (data/songs.json) — single canonical copy
  • 6 songbooks, 3,612 songs across CP, JP, MP, SDAH, CH, Misc
  • Some songbooks include MIDI audio and PDF sheet music
  • Song Editor (admin tool) in /manage/editor/
  • Public REST API at /api.php — 160+ documented endpoints across user / admin / org-admin / editor surfaces

Phase TWO (Future) — v2.x.x

  • Songs sourced from iLyrics dB API
  • MySQL backend, Christian songs only
  • Same frontend UI, different data source
  • Apple TV Remote Control: iPhone/iPad controls tvOS lyrics display over LAN

Version Numbering

Range Meaning
v0.x.x Phase 1 pre-release (current)
v1.x.x Phase 1 stable
v2.x.x Phase 2 (iLyrics dB integration)

Auto-bumped via conventional commits on push to beta (single source of truth). Alpha builds display commit-date timestamp in the footer.


Copyright

Copyright © 2026 MWBM Partners Ltd. All rights reserved.

Proprietary software. Third-party components retain their respective licences.

Clone this wiki locally