Розробка мобільного додатку для церковної общини
Додаток для релігійної общини — це перш за все інструмент комунікації та доступу до контенту: розпис богослужінь, медіатека проповідей, спільний чат та можливість пожертвування. Аудиторія різнородна за віком, тому UX повинен бути простим, а додаток — працювати на старих пристроях без деградації.
Розпис та сповіщення
Розпис богослужінь — це календар з повторюючимися подіями та виключеннями. Локальна копія в Core Data (iOS) або Room (Android) з синхронізацією при запуску. Повторюючі события (iCalendar RRULE семантика) зручніше зберігати як правило + список виключень, а не як N окремих записів.
Push-сповіщення за годину до служби — через FCM або APNs. На клієнті також локальні сповіщення через UNUserNotificationCenter (iOS) або AlarmManager + NotificationCompat (Android) як резерв для користувачів без стабільного інтернету.
Медіатека проповідей
Аудіо та відеопроповіді — основний контент. Відео через HLS від CDN (AVPlayer з AVAsset(url: m3u8URL)), аудіо — AVAudioPlayer або AVPlayer в залежності від формату. Background audio обов'язковий: користувачі слухають під час поїздки.
Background audio на iOS: AVAudioSession з категорією .playback, UIBackgroundModes: audio в Info.plist, MPRemoteCommandCenter для управління з Control Center та AirPods (play/pause, наступний трек, перемотка). Без MPRemoteCommandCenter — сповіщення в системному програвачі не показується, AirPods не керують відтворенням.
На Android — MediaSessionCompat + MediaBrowserServiceCompat + сповіщення з MediaStyle. ExoPlayer у ForegroundService для background playback. PlayerNotificationManager з ExoPlayer автоматично створює медіа-сповіщення з управлінням.
Пошук по проповідям — full-text search через API. Фільтр по спікеру, даті, серії. Offline-доступ для скачаних матеріалів — зберігаємо у FileManager (iOS) або getExternalFilesDir() (Android).
Чат общини
Спільний чат — або через стороннє SDK (Stream Chat, SendBird), або самостійна реалізація на WebSocket. Для невеликих общин (до 500 людей) готові SDK з freemium моделлю вигідніше за часом розробки. Stream Chat SDK для iOS та Android надає готовий UI — ChatChannelVC / ChannelListFragment — з можливістю кастомізації.
Модерація контенту — ролі адміністратора та модератора. Видалення повідомлень, блокування користувачів. Це обов'язкова функція для релігійної общини.
Пожертвування
Вбудований збір пожертвувань — найбільше регульована частина. На iOS нельзя просто вбудувати свою платіжну форму для цифрових товарів/послуг — Apple вимагає StoreKit. Але пожертвування для НГО/релігійних організацій не являються покупкою цифрового контенту, тому WebView з зовнішньою платіжною формою (Stripe, PayPal) допустимий. Це потрібно явно прописати в призначенні додатку при ревю — інакше ризик відхилення за гайдлайном 3.1.1.
На Android обмежень менше — нативна Stripe SDK (com.stripe:stripe-android) з PaymentSheet дає готовий UI для введення карти.
Регулярні пожертвування — підписки через Stripe Billing. Управління з додатку: скасування, зміна суми.
Підтримка старих пристроїв
Мінімальна версія iOS 14 (охоплює >95% активних пристроїв у 2025). Android мінімум API 26 (Android 8). На iOS 14 нема AsyncImage — використовуємо Kingfisher. Без @Observable (iOS 17) — ObservableObject + @Published.
Шрифт — Dynamic Type (UIFont.preferredFont(forTextStyle:), sp одиниці на Android). Пожилі користувачі часто збільшують шрифт в налаштуваннях системи — додаток повинен корректно реагувати без переполнення тексту.
Терміни
Розпис + медіатека з background audio + push-сповіщення — 4–6 тижнів. Чат + пожертвування + offline — 2–3 місяці. Вартість розраховується після аналізу вимог.







