I've built some web app with backend technology like node/express and Rails. A few days ago I started messing with the frontend Reactjs and I love it a lot. I see that we can navigate to different part of the app via React Router and Link, base on what I understand, this is similar to node/express when we do app.get('/route', cb). After a while I found out I can't send email or access database with react alone, I needed a server, I needed node/express. Then I looked into google firebase, google provided real time db, authentication, file uploading and mailing... and I heard it works great with react. So my question, if I skip node/express, can I build a fully working web app with just Reactjs and google firebase? If I can, what are the pros and cons?
If I want, can I build facebook, twitter, youtube with react and firebase?
So my question, if i skip node/express, can i build a fully working web app with just Reactjs and google firebase?
Yes
If i can, what are the pros and cons?
Covered quite a lot. Here is an old blog post : https://firebase.googleblog.com/2013/03/where-does-firebase-fit-in-your-app.html
Short answer : You can build features provided by firebase yourself, but its generally cheaper to just use it as a service.
Related
I wonder what is the process to integrate Google My Business API into a React app. The main objective is to render the google reviews in the website.
I have been searching in Google documentation but haven't really found any useful guide.
Any help would be much appreciated.
Thanks!
The fundamental way is to find the API in the google API store and then render that into the project if there's one. the process includes enabling the API from the store and using REST methods like HTTPS to call them in your project. it's the same for react and all the projects.
Here's a basic setup link
First, you have to apply for Google Business Profile API, for that you need an Account that have verified Google Business Profile. Then you need to implement OAuth2 for authenticating the account that have Google Reviews, once thats done you can access reviews from account that are authenticated. This process may take 2 weeks to 1 month.
My goal for the project portion is to be able to have a functioning login and register page using TypeScript.
Currently my code works without a database, but I wanted to use Firebase to register user's usernames and passwords, so they can login with ease.
The only tutorial I have found only use Firebase with Angular or React, and I was wondering if there was a way to use Firebase storage without it?
The IDE I am using is Intellij.
For now Firebase would be saving the username and password, but later my plan is to use Firebase Storage to save some text data to the account.
Firebase can be used without any specific framework. While there may be binding libraries to make it easier to integrate with common frameworks (such as Angular and React), the base Firebase JavaScript SDK for the web is completely framework-agnostic.
The Firebase documentation doesn't assume any specific web framework, so I recommend starting there: https://firebase.google.com/docs/storage/web/start.
I also recommend taking the Firebase codelab for web developers, which also doesn't require any specific web framework: https://codelabs.developers.google.com/codelabs/firebase-web/
I've built an iOS/firestore app. I'm now looking to create a web app to integrate with my database. I was going through the documentation and found a distinction between firebase for Node.js (https://firebase.google.com/docs/web/setup) and firebase firebase admin SDK (https://firebase.google.com/docs/admin/setup).
I believe that I will want admin privileges and control over the web app but since I'm learning this for the first time should I focus on the basics of getting user auth, access to the database, storage and cloud functions working? Or will be changing/adding the admin privileges down the line be such a hassle that it's better to struggle through it now?
I'm still new to the web side of firebase and I'm trying to get a feel for the approach I should take.
If you're building a web interface for your app, I'd encourage you to use the Firebase JS SDK and do most of the work client-side. It should be pretty similar to what you've already done in iOS.
You should only use the Admin SDK if you're specifically trying to create endpoints with custom trusted functionality that isn't available by using the normal SDKs.
I'm working on a PhoneGap project using Ionic. It's basically a chat app, so I need the user to be able to register, login and send messages using a backend API on my server. Naturally this needs to be secure, so I'm wondering what the best way to securely communicate with an API endpoint is, when using a AngularJS and PhoneGap.
Ideally, it should not require a server cert, as currently I don't have the funds to purchase one. In previous projects, I used a method where each account was assigned an ID, and a hash consisting of a secret + their ID, which had to be included with each request to ensure that the user couldn't forge requests from another ID, however I don't know how secure this method is.
Any tips, suggestions or read material would be really appreciated. I understand this question sounds subjective, so if possible please answer based on facts, security disclosures and any documentation on methods.
I know the solution to all your needs and it is called Firebase.
How your requirements will be met by firebase:
1. You are using Ionic to build your hybrid app(you are cool!) and that means AngularJS.. Firebase has the perfect library called AngularFire, that uses AngularJS to interact with the firebase servers.
You are building a chat app, awesome! Firebase has real time syncing between your app and database. That is a lot of work saved for you by Firebase (Claps).
You need to register users, Firebase has super easy user register management(both OAuth and manual registration)
Security! It is super important and Firebase has you covered even here. Implementing user level security is super simple using some simple json format security rules. I will quote this from the site "The safety and security of your data is our top priority. Firebase requires 2048-bit SSL encryption for all data transfer and allows you to restrict reading and writing via granular access controls and custom authentication.
All data is replicated and backed up to multiple secure locations."
It is free(upto some level. Do some research about it, I am not sure).
Your basic id + hash security measure is not bad at the same time not perfect or dependable. Firebase has you covered here through simple login and read/write rules and as well as some closed sourced security.
I'm writing a mobile application using JavaScript and HTML and I'll pack it using PhoneGap, so at the end it will be a native one.
One feature of this App will be the "Import from Google Docs" one. I'll set a Google account up for the App and put some documents in it so they will be available from the application itself. This seemed pretty straightforward, until I hit a wall with OAuth2.
What I cannot figure out is how to provide my application with a way to authenticate itself using a pre-authenticated token (I think this is the use of the "secret key" in the OAuth workflow). The problem seems to be that on the Google API guides I read, when speaking of JavaScript integration they always refer to a web application which - as part of the OAuth flow - will eventually ask THE USER to authenticate with HER Google account (and not my application's one) and never use the "secret key" (we will leave the problem of embedding a secret key into an application for later).
What am I missing here? Does anyone have done something similar and care to explain it a bit?
I recently presented OAuth at BlackBerry Jam Americas. You can view the recording of this presentation here which I think may help answer some questions about the differences between OAuth and OAuth2, and how to implement them in a PhoneGap (or WebWorks) application:
http://hosting.desire2learncapture.com/RIM/1/watch/63.aspx?q=social
Also, my colleague Chad recently published some sample code that you can use in your own app development. We have published sample BlackBerry WebWorks applications here that demonstrate how to integrate OAuth with Twitter, FaceBook and Foursquare:
https://github.com/blackberry/BB10-WebWorks-Samples
Good luck!