Parse.com data migration [closed] - parse-platform

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
I am developing an application that needs a backend, so I choose parse because I do not have the capacity to write a truly great backend myself.
Now I want to migrate my data from parse to my own system, because parse.com is owned by facebook (privacy concerns, etc), and because it is shutting down. Does parse provide a way to efficiently do that?
EDIT
Parse announces Shutdown of Services.
Best practices and options for migrating from Parse to ? AWS, or other system, vs creating new backend based on parse.com code.

This shouldn't be difficult at all if your own backend can handle an upload of a JSON file.
Parse allows you export your data in a JSON formatted file.
All you have to do is go to the "Settings" tab in your Parse Dashboard - then click the "Export Data" tab. This will then give you a URL for you to retrieve the .zip of this JSON file.
You will then just have to import your data to your new backend.

If you move your data from Parse to another location i.e. Mongo or another PaaS provider, you will still need to update the client code. If you have a mobile app, and your end users don't bother to update their app, then how do they connect to the new datasource (DB)?
You would need to build this migrate functionality into your client from the 1st public version to be sure to capture all users, so you can flip the switch. That's a lot of work, you have to write your own wrapper for the Parse API or REST calls.
If your app is serving HTML from the server i.e. a PhoneGap app, with server side page rendering, then you are de-coupled from the app executable on the end users phone/tablet. MeteorJS has hot code push to solve this.
But trying to migrate data without having a plan in place from the get go is pretty much horrible. You could send a notification to all the old clients that need to update their mobile app, telling them to update, and shutting down the Parse backend, but that's not a great user experience. If they don't have notifications turned ON... You could code an alert/msg to popup based on you populating a field in the parse DB, poll to check it every few mins. Still not smooth.

You mobile client code would need to updated accordingly. I wrote up a part 1 of a blog on these considerations for migrating over from Parse to Couchbase Mobile stack and the reasons why.
Overall there will be some work to do as you would need to either copy over the entire datebase and then let the user to update their client app when appropriate to attach to the new backend. Getting everyone on the new system is required now as Parse is shutting down so a consideration is to create a requirement product feature with a new version number for upgrade.

Related

What architecture is best for multiple users editing the same database record?

I have a Django REST Application that has POST and GET endpoints for a record in database. It allows multiple users to POST data to it and GET from it. I can implement locking to make sure the records don't get overwritten and I can make sure the front-end pulls latest record first before users starts to write.
The problem comes when two users are editing the same thing simultaneously, I am looking for a solution as robust as Miro or Google Docs, where you can see the name of the user editing a line while you are also editing the same line.
Currently, its a simple Django REST app but is there anything out there that can help me make it more like Google Doc editing, as robust and truly realtime as it?
How are they managing such a thing in their architecture? What am I missing here?

REST API design for commands [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 2 years ago.
Improve this question
I have multiple servers and I'm building an app to control them, check their status, etc. I want to create an endpoint that allows me to turn the server on/off, however, I'm not sure how to properly design the REST API.
Currently, let's say I have a Server resource and the endpoint to control it is /api/servers/{id}/start and /api/server/{id}/stop. They are used by simply sending an empty POST request which turns the server on and off.
This works fine, but I'm not sure whether it is a clean design of the API. I haven't been able to find any recommendations on this topic.
What approach would you recommend in this situation?
Thank you!
This works fine, but I'm not sure whether it is a clean design of the API. I haven't been able to find any recommendations on this topic.
It is fine, but it could probably be better.
Short version: instead of POSTing an empty message to a specialized resource, prefer to POST a detailed message to the resource you expect to change.
Long version: any time you are trying to figure what to do in REST, the right starting point is to think about how you would do it with plain old web pages.
On the web, you would open a page that has a list of different servers; each of those servers would probably have some sort of status indicator, and links for each of the changes you might want to make. Following that link would bring you to a form, which might be pre-populated with data. You would change any necessary defaults, and then submit the form, and the browser would create the HTTP request that tells the web server to restart server #7, or whatever. TADA.
Notice that neither the browser, nor human being, need to know in advance which URI to use, because that information is included in the representation of the web page. The browser needs to know how links work, and how forms work. The human being needs to know which link to follow, and how to interpret the input controls in the form, but it is the server that decides what the identifiers are, and what key/value pairs should be used in the request body, and so on.
Given that, how do you decide what the target of the form action should be? One possible answer is to consider the implications of caching. RFC 7234 says that a successful POST will invalidate any cached representations of the target-uri. So if you POST the request to the webpage that you expect to be changed by the request, then you get the appropriate caching behavior "for free".
The cache invalidation rules are not flexible - they are designed to support the common case. If you have many cached pages that will be changed by a request, then you'll need to choose which one of them is most important for updating.
Matching those ideas to your case: it's probably the case that the most important document changed by your forms is /api/servers/{id}, so that's the document that should be the target of your form submissions
POST /api/servers/1
Content-Type: text/plain
STOP
POST /api/servers/1
Content-Type: text/plain
START

How to handle php call for rapid api data update to database?

I am creating web application work with laravel and vueJs and my app work with third party api which one provide live data on related market. I.E.
When user add order with a price, it will match live market price before order is confirmed.
I constantly update the market price feed. A cron job is used to do this, but the response time is more than 1123 ms on laravel.
When using direct Php API call without using framework, the response time only improve slightly, e.g. 995 ms , before compare data in local database.
Please suggest a better way to retrieve this continuous update data. Currently the application is still in development, I i want know the correct type of service need and need suggestion on what kind of server should I use. The application make ~2,678,400 API request monthly.

Outsystems platform: getting FullContact details for a person [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this question
I have been doing a work in outsystems platform.
My works is a recruitment application where you add candidates to your app with a curriculum. You then choose the best ones to schedule an interview with, and eventually you can hire them to your company. Well, I don't known if you guys really need to know what my app is about, or what it does but I can explain better or eventually show it if it helps with my problem.
Well what I want is:
- When I register a candidate, I add a name, an email address, and a phone number. With this email, Outsystems offers a widget that can find all networks referred to that person (by email), that widget (I am not sure if this is the correct name for this tool, maybe API is more correct) can be found in Logic and inside the folder called Dependencies, that widget is called FullContact. To use that API you must create a new action. I did it and I filled the mandatory parameters called Email with Candidate Email. I am not sure what to put in APIKey parameter, I tried a lot of things and when I publish and test it I always have the same error called 403 Forbidden. What I am doing wrong?
I am not sure if this question is supposed to be done here, if it is not just tell me and I can delete the question and search somewhere else.
what I have is this: app print
I am not sure what to put in APIkey, I saw an example and the person that did it added an assign and an ajax refresh. Do I need it to? And this is the error I get when I test the app enter link description here
I never worked with FullContact before but from some researches I learned the following:
Overview: The FullContact Developer APIs are used to manage and enhance contact information.
Authentication: All requests to all endpoints require you to specify your unique API key. The API Key is assigned to you by FullContact and is used to identify and authorize each request. Your API key should be kept private, and should never be displayed publicly.
To signup and get your free trial: https://portal.fullcontact.com/signup
Note: FullContact isn't free, you can only apply for a trial or pay.
Pricing: https://www.fullcontact.com/developer/pricing/
Where did you get that action from? Was it from the LinkedIn Connector perhaps? If so, you might be lacking authentication. Check the documentation from available in the sample eSpace.

Cannot create a Parse account

I can not find a SignUp Button or a register button on parse. Is it possible new users to register on the site? All I want is to save an android data to a cloud/server with very simple way.
Yeah, You cannot currently setup a new account with Parse.com. This is because the entire platform offering is being shutdown.
They have however open source a majority of the technology behind the platform.
Visit https://github.com/ParsePlatform/parse-server for how to setup your self-hosted instance of the parse-server.
You can however check out http://firebase.com. Their offering is similar to Parse
Goodluck

Resources