RTSDA-iOS/README.md
RTSDA 00679f927c docs: Update README for v2.0 release and fix git remote URL
- Comprehensive README update documenting v2.0 architectural changes
- Updated git remote to ssh://rockvilleav@git.rockvilletollandsda.church:10443/RTSDA/RTSDA-iOS.git
- Documented unified ChurchService and 60% code reduction
- Added new features: Home Feed, responsive reading, enhanced UI
- Corrected license information (GPL v3 with church content copyright)
- Updated build instructions and technical stack details
2025-08-16 18:41:51 -04:00

4.1 KiB

RTSDA iOS App

The official iOS app for the Rockville-Tolland Seventh-day Adventist Church. This app provides easy access to church services, media content, and information.

Features

  • Live Streaming: Watch church services live through OwnCast integration
  • Video Library: Access archived sermons and special programs via Jellyfin
  • Digital Bulletin:
    • View weekly church bulletins with enhanced formatting
    • Interactive hymn links that open in the Adventist Hymnal app
    • Bible verse links that open in YouVersion Bible app
    • PDF download option for offline viewing
    • Responsive reading support
  • Events & Calendar: Stay updated with church announcements and upcoming events
  • Contact Form: Direct communication with church staff
  • Church Information: Access church beliefs, contact information, and more
  • Home Feed: Unified view of latest bulletins, events, and media content

Architecture

Version 2.0 - Major Rewrite

This version represents a complete architectural overhaul with significant improvements:

  • Unified Data Layer: All networking consolidated into a single ChurchService powered by the church_core Rust library
  • Performance Improvements: 60% code reduction with optimized Rust-based networking
  • Consistent API: Same backend used across website, iOS app, and Beacon platform
  • Enhanced UI: Completely redesigned interface with improved navigation and user experience
  • Better Error Handling: Robust error management with user-friendly messaging

Technical Stack

  • Frontend: SwiftUI with iOS 17.0+ features
  • Backend Integration: church_core Rust library via UniFFI bindings
  • Networking: Optimized Rust reqwest with built-in caching
  • Media Integration:
    • Jellyfin for video content
    • OwnCast for live streaming
    • External app integration (YouVersion Bible, Adventist Hymnal)

Building the App

Prerequisites

  • Xcode 15.0 or later
  • iOS 17.0 or later
  • Swift 5.9 or later

Setup

  1. Clone the repository:
    git clone ssh://rockvilleav@git.rockvilletollandsda.church:10443/RTSDA/RTSDA-iOS.git
    
  2. Open RTSDA.xcodeproj in Xcode
  3. Ensure the church_core framework is properly linked
  4. Build and run the project

Dependencies

The app includes the following bundled dependencies:

  • ChurchCore.xcframework: Rust-based networking library
  • UniFFI Bindings: Swift bindings for church_core functionality

Version History

Version 2.0 (Current)

Major Release - Complete Rewrite

  • 🚀 Unified ChurchService: Replaced 4 separate networking services with single optimized service
  • 60% Code Reduction: Eliminated duplicate networking code for better maintainability
  • 🎨 UI/UX Overhaul: Completely redesigned interface with improved navigation
  • 📱 Enhanced Views: New MainAppView, HomeFeedView, and improved detail views
  • 🔄 Better State Management: Improved data flow and error handling
  • 📖 Responsive Reading: Added support for call-and-response bulletin sections
  • 🏗️ Rust Backend: Leveraging church_core library for consistent, performant API calls
  • 📊 Improved Performance: Faster data loading and better memory management
  • 🔗 Unified Platform: Same backend as website and Beacon for data consistency

Version 1.2.1

  • Improved Bible verse formatting in splash screen
  • Enhanced bulletin view formatting
  • Better text processing and presentation

Version 1.2

  • Added Digital Bulletin system
  • Interactive hymn and Bible verse links
  • PDF download functionality
  • Updated to iOS 17.0 minimum

Version 1.1

  • Initial release
  • Basic live streaming and media library
  • Church information and beliefs reference

License

This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.

Important Note: While the app code is GPL v3, the church content (sermons, bulletins, media) remains copyrighted by the Rockville-Tolland Seventh-day Adventist Church. See LICENSE file for full details.

Contact

For any inquiries about the app, please contact the Rockville-Tolland SDA Church IT department.