App that uses cloud storage provider - google-drive-api

I'm in the middle of designing an app that will help manage your life better. I personally like having control of my data. So instead of storing everyone's database on a server that I provide,
I want the user to use their own personal storage through providers like google drive, dropbox, onedrive, etc. The reason for this so that an android app, ios app, desktop app, web app, etc can all be in sync if the database was pointed to that storage provider.
I would like to know a few things if any of you have experience with this:
What would be wrong using this design for storage? Greater chance for apps to be out of sync? Slow performance? Chance of corruption if user messes with database directory?
I couldn't find any articles of an app that uses this method. Does anyone know of any articles on the web or your own personal words on how to go about implementing this?
I would like to hear your thoughts on this and reccomendations.

Related

Is there a way to store images in Azure or AWS without hosting the application on their platforms?

I am currently developing a full-stack web application for the first time. It is a store that needs to give users the ability to upload "books", edit, delete, and manage them. As of now, I have a React front-end, that calls an Express API using Axios that queries a MySQL database. This currently can manage the product details, titles, and simple labels and relations.
However, I now need to store images and .json files dynamically as well. So, I have researched and need to use Azure Storage to store these images and allow access to them by the end-user. I have researched it and the client would like to use Azure storage as well.
I have gotten quite overwhelmed looking into the Azure documentation for Javascript image uploading, and every "tutorial" starts with create a web application, storage account, and app service.
All I would like to do is store images from the user in Azure storage, so that when I eventually deploy the website, the data is available to be accessed and then my front end or API can call Azure to get the images for the user. I apologize if the question is confusing or vague, I am really just overwhelmed by Azure's documentation and it seems like such a simple and common problem. Any guidance or references would be greatly appreciated.
Yes, it's quite possible. You simply create an Azure Storage account and upload your files as blobs via that account. Then they will be available publicly on the Internet, and your web application can reference them from wherever it is hosted.
It is possible as I believe it is quite a common practice to have a Content Delivery Network to deliver the images. I am not very familiar with Azure but I am with AWS and I can tell you that you can use an AWS S3 bucket to store the images and JSON. It comes with many different configuration options to allow content to be protected or open to the general internet.

How can i make my social network app more efficient in storing and retriving the Data?

I am working on a social network app from scratch,
I designed my database (choosing Mysql) to store and retrieve data
The problem starts when I am posting videos and photos and when data become larger and larger when I am waiting to view news feeds (depending on sql query that brings the last posts from friends ans Pages).
The question is :
How can I manage and handle the big data, and how can I make the news feeds service more efficient ?
What do you think of using (Real-time) Databases from Firebase?
If you're thinking about putting up Firebase as your choice for your database, then there's nothing wrong with that. Firebase realtime database is a very secure and great option.
Firebase gives you functionality like analytics, databases, messaging and crash reporting so you can move quickly and focus on your users.
Firebase is built on Google infrastructure and scales automatically, for even the largest apps.
And on top of that, many great apps do use Firebase as their backend.
I'd say to know more, you can just start with a demo project on Firebase to learn how the things happen with Firebase, and after learning, start using it as backend for your social app.
Just go to Firebase Console and start with your own project. To learn how to use Firebase, do refer Firebase docs and if stuck, StackOverflow is always there.
If you want to get some inner details, I have some repositories on GitHub, that might help you in understanding about Firebase and the security rules and other important things.
Demo App
Firebase Security Rules

Preparing to switch to google compute engine for web hosting

Im currently in the process of switching to google compute engine for my web hosting because my current provider performance has been deteriorating over time. Giving me more flexibility to upgrade as I need to.
Ive got my website setup and working on the engine. But the next steps need to go smoothly to ensure my customers don't experience any downtime.
I have a few things I need to work out:
- Does google have a way of managing email addresses at your own domain? Then I can just send or receive from gmail.com or another email client on my domain? Or do I have to setup a email server in my VM? If so is there any way to setup a cpanel like management software on it?
- To my understanding I should just have to call my current provider to ask them for my SSL certificates and for them to switch my domain over to google and then point it to my VM? or is there something I'm missing here?
Are there any simple ways to ensure my server says secure when I'm managing it myself other then just updating packages manually? Like a website I can use to track known security problems with the packages I have installed?
Edit:
Please read Dan Cornilescu's comment on this question about setting up your own custom domain email. He said it can possibly be managed using google apps.
On the topic of SSL/Domains I called my current provider and they said they would help me switch over if its what I decided. They also upgrading my hosting plan and things seem better now and are comparable to the performance I was getting on my google VM so Ill be trying that for now.

How to develop an application which will run on server but can be used in client side via web browser?

Let us say I want a "hello world" program to be run in the server, but many number of clients can execute the program whenever they want.
An example of this kind of applications based on which I am asking the question is
google docs
If the application is simple, then there's no special principle. As an example, since we're talking about Google, let's look at their main entry page. Ignoring the menu links, it's a basic web page that uses HTML to post the search terms to a back end server application that performs the search. Literally thousands of users can use this web page at the same time.
The more users, the more web servers running your web page you'll need.
If the application is more complicated, like Google Docs, then you have to figure out a way for each user of the application to save information separately and securely. You'd probably start with a user id.
The more users, the more disk storage you'll need. System managed storage would be helpful.
As far as software, you can use any language you wish to develop the application. JQuery is popular. There's Java EE, Ruby, .NET, and a host of other languages. You have the choices of MySQL, Oracle, or DB2 for a relational database.

Is web development possible using Google Sites?

I have hosted a website. But now my client asks to change it to http://sites.google.com. They have registered their domain with Google.
I logged in the site and saw the procedures to create a website from scratch. But is there any way to directly replace the site into google sites. Like, in my site, I have included CSS files in a folder called stylesheets/css and access it through the link tag. And there are several folders like that: images, scripts, etc.
Now, if I have to transfer it to Google Sites, where do I create the folders and stuff? I have the priviliges to login to the admin part of the site.
And also, is there anyway to create a database and access it in Google Sites?
Also, I see that only HTML pages can be created. Is there a way to add PHP pages or other scripting languages?
Going forward, will Google Sites be useful for professional web designing?
Can anyone provide any ideas on whether or not Google Sites is a good idea for a professional webmaster to use?
You should consider hosting your solution using Google's App Engine instead of Google Sites. You can set it up so it uses PHP (see link below), you can configure it to use your domain name and you get enough CPU, disk and bandwidth allowance to serve around five million page views for free each month, if you are serving more than that, their prices are extremely competitive.
Google App Engine: http://code.google.com/appengine/docs/whatisgoogleappengine.html
How to setup PHP using Google App Engine: http://blog.caucho.com/?p=187