Task price 250$.
**this task is one in long distance project, freelancer that will be recruited successfully can stay with us to long and fun development**
We need to integrate into the application a chat module which will make user able to communicate with other users (online users will get from the server)
Chat module will be based on an open source called Fire Base.
Requirement is to make ability to users with IPhone system to communicate also with Android and vice-versa.
2. The chat module will be very similar to regular chat applications like WhatsApp, Tango… (without voice or media, only text) and will have following functionalities:
-User can talk to all users displayed in the chat room.
-The users list present in chat room need to be updated by same method that provide users present in chat room (same API) every 5 seconds
-History of chats will be stored like the Fire Base permit it on the phone.
-Users prefered chat language will get from the server, so on each message, if needed (user has a different chat support language that the current user which is sending message), message need to be first translated by Google Translate API before sending it.
-From the chat message screen (the screen where user write to other user) , an option to send a gift (from the products menu) need to be added. In fact, it will be only an icon, which will open the menu in a popup, and make the user the ability to send a SINGLE product
as a gift)-> this will of course call a second API
-Last thing, all messages will be stored on the DB side. So on each sending from client to client, an API will be called to save the message.
3. The process development will be like this:
-Integrate first FireBase as it is.
-Integrate GetOnlineUsers API to display only releavant users.
-Sending Functionality working
4. things to consider:
A. if chat enabled\disabled - the chat will not be accessible
B. if “Mark messages as read” - on\off -> should be considered too
C.1 when clicking on the push pop-up (on top of the screen, like whattsap) the user will get to the conversation screen directly.
C.2 when opening the chat if there are unread messages they should be marked.
C.3 when blocking someone it adds him in the server (with BlockUser() )
D. when trying to talk to someone in the chat list it needs to check if there is already opened conversation so it will continue (and not open new conversation everytime..)
E. the people that the user talked to will stay listed even if they are not online .
December 17, 2017
I am looking for a mix of experience and value