Awesome Open Source
Awesome Open Source

General

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
  • Chat pagination
  • 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.
  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
  3. Create a new key named MGLMapboxAccessToken in your Info.plist and insert access token as a value. More Info

Credits

License

Copyright 2020 VITALIY PALIY

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.


Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
swift (7,535) 
ios (3,492) 
animation (1,030) 
firebase (467) 
opensource (288) 
map (223) 
messaging (207) 
ios-app (164) 
messenger (107) 
pagination (89) 
mapbox (47) 
realtime-database (25) 

Find Open Source By Browsing 7,000 Topics Across 59 Categories

Advertising 📦 10
All Projects
Application Programming Interfaces 📦 124
Applications 📦 192
Artificial Intelligence 📦 78
Blockchain 📦 73
Build Tools 📦 113
Cloud Computing 📦 80
Code Quality 📦 28
Collaboration 📦 32
Command Line Interface 📦 49
Community 📦 83
Companies 📦 60
Compilers 📦 63
Computer Science 📦 80
Configuration Management 📦 42
Content Management 📦 175
Control Flow 📦 213
Data Formats 📦 78
Data Processing 📦 276
Data Storage 📦 135
Economics 📦 64
Frameworks 📦 215
Games 📦 129
Graphics 📦 110
Hardware 📦 152
Integrated Development Environments 📦 49
Learning Resources 📦 166
Legal 📦 29
Libraries 📦 129
Lists Of Projects 📦 22
Machine Learning 📦 347
Mapping 📦 64
Marketing 📦 15
Mathematics 📦 55
Media 📦 239
Messaging 📦 98
Networking 📦 315
Operating Systems 📦 89
Operations 📦 121
Package Managers 📦 55
Programming Languages 📦 245
Runtime Environments 📦 100
Science 📦 42
Security 📦 396
Social Media 📦 27
Software Architecture 📦 72
Software Development 📦 72
Software Performance 📦 58
Software Quality 📦 133
Text Editors 📦 49
Text Processing 📦 136
User Interface 📦 330
User Interface Components 📦 514
Version Control 📦 30
Virtualization 📦 71
Web Browsers 📦 42
Web Servers 📦 26
Web User Interface 📦 210