WebRTC based pre-paid Video/voice calling App (similar to Facetime/Skype/Whatsapp without groups or conference calling) for Web, Android & iOS, with Admin panel, all Database / Server-side functionality, STUN/TURN, with User registration & profile database, Capturing GPS location/Call-Duration/Quality/User Rating and Integration with Payment gateway.
Note: Need 4 total interfaces:
3 client side interfaces - 1. Web, 2. Android, 3. iOS (in that order of development)
and 1 web-based admin side interface
Including at a minimum the following the features:
1. User registration and ability to create user profiles upload photos, interests and location, billing preferences and other requisite details and features to refer contacts from address-book
2. Real-time Capture of User's logged-in/availability status and GPS location
3. Search for available Users based on User-id
4. At the end of call - capture and store in database all available technical metrics including parties called, Call duration, Call technical quality (packet-loss, jitter, codec etc), User's subjective rating of call quality and ratings metrics
5. Deduct charges for the Call from pre-loaded balance (based on call-quality with option to cancel or reverse charges if call quality was poor)
6. Integration with payment gateway to collect pre-paid payments
7. Capture, store and display Call history to users
8. All requisite database and server-side functionality including but not limited to data models, SQL queries, server side scripts, JDBC etc
9. All requisite network setup including but not limited to NAT traversal, STUN and TURN servers
10. Admin panel to manage Users and Billing
11. Other technical setup steps and functionality as may be required to provide the minimum user features outlined above
App needs to be developed for the web, iOS and Android along with database and server side functionality, admin panel and Payment gateway integration.
Need not use Twilio if same functionality can be developed using AppRTC or other such services and Open Source products to accomplish the desired functionality.