Real-time messenger with a friends map and custom chat color design

mChat

mChat is a real-time messaging app written in Swift for iOS devices. Since mChat uses a fast and reliable Firebase Database, it receives data instantly, which makes a messaging process better among its users. Moreover, it uses a Mapbox API that provides different styles of the map, making it an unforgettable experience for users. The app design is inspired by Telegram Messenger.

Requirements

  • Xcode version 11.2.1+
  • Swift 5
  • iPhone 8 or higher
  • iOS 13.0+

Functionality

  • Real-time chat
  • User online indicator
  • Sending text messages
  • Unlimited length of text messages
  • Sending image messages
  • Sending video messages
  • Sending audio messages
  • Typing indicator
  • Messages status indicator
  • Delete messages
  • Reply to / Forward messages
  • Custom chat design
  • Friend network
  • Locate friends on a map (if they have disabled an anonymous mode)
  • Custom map design
  • Change email / password
  • Change profile image

How to install?

  1. Install CocoaPods
  2. Open Terminal and run pod install directly in mChat/Messenger folder.
  3. In order for Firebase to work, create a new project for your application. -> URL
  4. Download GoogleService-Info.plist from your newly created Firebase project and replace it with the old one. screenshot
  5. Enable Email/Password authentication method
  6. Create Realtime Database
  7. Set Realtime Database rules to:
{
  "rules": {
     ".read": true,
     ".write": true     
  }
}
  1. Enable your Firebase Storage
  2. For using Mapbox, create a new token -> here
  3. Create a new key named MGLMapboxAccessToken in your Info.plist and insert access token as a value. More Info

New Updates:

Update 1.2:

  • Bug fixes
  • Code refactoring

Credits

GitHub