05 / 03 / 2023
YkChat
Real-time iOS messaging application
- Role
- Year
- Links
- Announcement
- Credit
Overview
A messaging application that leans on modern software architecture and mature libraries to deliver a seamless experience. It employs MVVM throughout, keeping separation of concerns clear and the codebase maintainable.
Approach
Custom classes for each feature area, including incoming and outgoing message handling and audio recording, following MVVM and Clean Architecture patterns.
Realm for local storage, so messages save and retrieve efficiently offline.
Capabilities
Real-time messaging
Text, images, video and audio sent and received instantly, with sent, delivered and read status tracking.
Media and voice
Photo, video and audio sharing, with integrated recording for voice messages.
Location sharing
Users can share their current location with contacts, displayed on a map.
Accounts
Secure registration and login, customisable profiles with display names and avatars, and push notifications for incoming messages.
Stack
- Swift
- UIKit
- MVVM
- Firebase Auth
- Firebase Realtime Database
- Cloud Functions
- MessageKit
- Realm
- AVFoundation
- CoreLocation
- MapKit
- ProgressHUD