Sync contact from Mobile Application to Server side via REST API - mobile

I just thinking, a mobile application just like WhatsApp, Viber, Telegram, etc, how can that great apps can efficiently sync those add/delete/modification done on the contact in our phone directly to their server side.
For the first time (whole contact sync), it should be a pretty much straight forward to directly send all those contact in phonebook to server to sync/upload process.
I would like to know, how can they manage the changes (incrementally) to sync the contact changes with the server side. If my assumption is correct, there will be a special process that can send only those updated contacts rather than sending the whole list every time.

Related

Clientside payment solution in React (no server)?

Do you know of any payment solution for React that don't require any backend? I've tried implementing Noodlio as it said that it would work for React. I could not find any projects using react and Noodlio and I didn't get it to work.
So:
has anyone gotten Noodlio to work with React and are willing to tell me how?
Or are there any other payment solution that doesn't need a server?
Payments are Exactly Transferring Money Or Giving Credit from One Client to Another.
Credit Amount Have to be save in some place.
Client-side is not a good field for this work because the receiver should trust the sender and sender always could get offline and get unreliable ....
so there need for an back-end which has to be:
always accessible (online)
trust able by a wide range of people
but this criteria can be made via 2 approaches:
centralized : which needs a server which perform payment action and client would communicate with APIs.
decentralized : client sending payments to miners to approve. (in this case there is no need for you to implement backend)
The Most Security issue that concerns client is how to avoid account hijacking:
in centralized : client should transfer sensitive data securely and saving no tokens/ password in client system.
in decentralized: client shouldn't save any private key or backup phrases in client side. every other aspects are secure via blockchain back-end.
for a successful only Client Implementation Payment Solution, i
recommend you to use Cryptocurrency blockchains as a backend.

Connect to ejabberd server and application server

I have an ejabberd server and I am trying to build a chat module in my Angular/NodeJS app.
Currenlty, my Angular app connects directly to the chat server. Assume my roster has 100 contacts comprising of online and offline contacts. I need to map all the 100 contacts with the users in my application server to get more details like companyId, email, contact, etc.
Do I have to loop through each contact and call an API to the application server? Wouldn't that put a lot of load on the frontend? Is there a better way of achieving this?
Apologies if my question is silly. I am new to XMPP.
There are several way´s of doing this.
You could go and fetch every single user from your API, cache them so the next you don´t have to fetch all the data, but that´s not the optimal solution.
The other solution would be to get all contacts with one single call by passing all id´s to your node application. Then the node app can fetch all needed data from your database and pass it back with one Request and not 100.
With more or less the same problem I used a jabber search getting up all the users and stored on client for the entire session.
My requsite it's "all users can chat with all other users" (about 100 users on server),
if your is not, I suggest you to create a custom IQ and let server cache the Jabber search (updating after each user registration) and reply with only required datas in a single call, async.

Signup for email accounts from GAE app

I am faced with a rather strange request and there isn't much material online tackling that.
I am building a web app on GAE ... front end, back end, datastore, blob store, user accounts, the whole nine yards ...
Part of the requirements is to have a user communication system, (users sending messages to each other, just like Facebook) as user emails are not to be shared among other users, and the web app shall only send emails to the user sign up email strictly for security and administration purposes, and wont flood their inbox with notifications like some websites do.
I have narrowed narrowed it down to 4 options
Option 1:
Reinvent the wheel - Build this whole system form scratch on the Datastore and Blob store. However, not only is it expensive, but also I am not gonna go through all of that (just saying honestly)
Option 2:
Build a bouncing system ... User A sends message to app ... app bounces email to User B. Not very Elegant, impossible to create threads and conversations, eats up app Mail Quota used for Marketing and what not.
Option 3:
Host My own Email server onsite. Patch an API servlet and run the whole show through API. Very valid, except that the client doesn't want anything on site, and I wont be around to maintain it for him.
Option 4:(Best option if someone helps out)
Implement option 3 on a 3rd party email provider. Which brings us to the question, is there any respectable email provider that allows account sign up through API ?? I need to create a shadow email account on a 3rd party server(that the user will never know it exists) every time someone makes an account on my app. Then store all emails and their generated passwords in the Datastore, and when user logs in my web app, web app logs in 3rd party server, retrieves messages and serves it. When he wants to send a message, web app gets the message, sends an email using API as well. If someone knows how to do that on Gmail, I would be eternally grateful (but I highly doubt google allows that)
Note
I can implement the whole setup on xmpp/Jabber servers as well but these free servers keep changing all the time and they change their configurations ... bottom line they are not very reliable.
Thanks a lot guys !! I really appreciate any feed back and if you have any other suggestions please don't hesitate !! This is by no means a solid plan yet.

Can the authorised client IDs be dynamic?

My app will have a large number of authorised client applications that may access the API, and this list will be constantly changing (well at least that's what the business plan says :-) ).
Is it possible to have the array of authorised clients driven from stored data. I'm not keen on having to change the code and redeploy every time we authorise a new client application.

Music streaming site (Grooveshark) playlist, store locally or on server?

I'm building a music streaming site much like grooveshark.com and I'm kind of lost on how to implement the playlist function.
The site is open to public, meaning you don't necessarily have to create an account to use the playlist function. So when a user starts building a playlist, where should I store it locally or on the server? Previously, I built it to store everything locally on a cookie but I don't think that's the correct way due to cookie limit(plus it was hacky).
So should I be creating a playlist on the server and interact with it every time user adds/drops/skips/pauses/etc music? What would the database structure look like? Create a GUID playlist anytime a visitor starts building a playlist, store the GUID locally on the user's computer cookie and use that to communicate with the server?

Resources