NeChat - iOS Messaging App
A modern, full-featured iOS messaging application built with Swift and SwiftUI. The app follows MVVM and Clean Architecture principles with clear separation between Domain, Data, and Presentation layers. Features include Firebase Authentication (email/password) with email verification, real-time one-to-one messaging via Firebase Realtime Database, and user profiles stored in Firestore. Social features include Stories (24-hour ephemeral content with customizable backgrounds), a social feed (Posts) for sharing updates, favorites for quick access to frequent contacts, and a discoverable contacts list. Voice and video calling is powered by WebRTC with STUN servers. Push notifications are supported via Firebase Cloud Messaging and a configurable push backend. Profile photos and media are uploaded through Cloudinary. The app uses protocol-based dependency injection for testability, async/await and Combine for asynchronous operations, SwiftUI for a native iOS look, and supports dark mode. Built for iOS 16+.