We are looking for a Android and iOS Instant Messeging App based on XMPP servers like MongooseIM or ejabberd, with the following features:
* Private Chat
* Group Chat
* Block User
* Send Media Message: Video, Audio, Image, GeoLocation, vCards, Documents
* Small preview of received Media Messages: Video Audio, Image, GeoLocation.
* One-click send and play voice message: microphone icon on the right side of the input text.
* Sent/Delivered/Read message Status
* Typing Status
* User Profile Configuration: Profile Picture, Name, Email.
* Syncronize Phonebook's contacts with XMPP Roster.
* SMS OTP SignOn/SignIn (Using Firebase Auth)
* One fixed Chatbot contact by default.
* Apple Push Notifications for iOS App
* Google/firebase Push Notification for Android App.
* Web Push Notification for future web App Implementations.
* SMS Push Notification: if user checks in their profile configuration, an option to receive sms notification, the MongooseIM Push platform will send an SMS instead of a (ios/google) Push Notification when a offline user receive a message.
* End2end encryption
* App's colors, logo, and icons will be customized by my specifications (band style book).
* WebRTC Video/Audio Calls, including the configuration of the ICE, STUN/TURN server
* Metrics Dashboard, Total users, Total Active Users, Rx/Tx messages (per hour, day, month).
* Emoji keyboard.
* Unreaded messages counter badge over each chat.
Please include the setup costs of the XMPP server on a AWS EC2 Platform.