1) Require a server in Node.js to handle request from web/iOS/Android users for Voice/Video/Text Chat. This means sever will capable to work with other devices in future.
a) Need to build signalling server.
b) Need to build our own STUN and TURN server.
c) Need to use websocket for data channel.
d) Need security and use encryption for all communication between users.
2) Require iOS Library in latest Swift language which function Voice/Video/Text Chat with communicating with server(1).
1) Enhance noise reduction.
2) Enhance image quality.
3) Video chat
4) Audio chat
5) Text chat
6) Switch between video and audio chat
7) During audio and video chat enable text chat as well
8) Emojis functionality
9) File transfer functionality
10) Auto reconnecting calls when drop due to network instability
Serving Changes During Project Development:
We recommend you to use agile project management to develop this project which allows to enhance features based upon testing because any product cannot be predicted 100% upfront, so there will be obvious chance to add more feature during/after development.
Our requirements for this project are:
1) Organise code with maximum creating methods with parameters.
2.a) For iOS all codes will be in Swift latest version. No POD installation or Objective-C codes.
2.b) For Backend all codes will be in Node.js latest version.
3) We need all codes with readable functions/methods with comments describing the purpose of the code.
4) We can ask you to simplify your code if we needed.
5) Code should be return in test-driven manner.
6) We recommend to break down the project into different items so we can do test units for each item.
7) All functional code should be synchronise with GitLab or GitHub. It is depend on our choice which one we select.
8) Give us list or timeline of items and tasks you will complete within given project time. Means breakdown project into items and further breakdown item into tasks and make a list with due time. So we can track progress of project completion.
Code Copyright Condition:
After the full payment we will be the copyright owner of all codes. So in future you will not be able to claim your ownership on the delivered codes.