Can we say Cloud Firestore a web server? - node.js

I have done angular project using cloud firestore as my database for my school and I need to mention which server I have used in this project.

As said on https://firebase.google.com/docs/firestore/ is a database so it is incorrect to call it a web server. Anyway you should point that you used this technology, but as a cloud database.
Cloud Firestore is a flexible, scalable database for mobile, web, and
server development

For "school" project and minimal architecture, you can use cloud firestore as your primary database. You can access database directly from your native or hybrid app.
If you want to build a web server, then I think Cloud Functions should be better answer.

Related

How to Deploy Node js Rest API in SharePoint Server 2013

I have created REST API for fetching the products details from SQL db. As of now I have only my dbconfig file where I have added the SQL database configuration. Now , I need to deploy this REST API to SharePoint.
My front end - Angular
Any steps to be done ?
In ASP.Net , we used to build the project, get the dll file & deploy that in IIS. But in node js how this can be done ?
First of all, SharePoint architecture and its environment differs entirely from Nodejs. There are many things that needs to be taken care of while deploying Nodejs application.
I assume you've developed some endpoints which you are trying to consume through SharePoint. In that case, the best solution is to create node environment in your on-premise server.
The other way could be deploy the Nodejs application on Azure. And allow access to your local environment only. This will protect your endpoints to get exposed. There are some security concerns that you may have to handle.
Much simpler approach is to deploy on Heroku and try to access from your SharePoint
https://devcenter.heroku.com/articles/deploying-nodejs
In my opinion, the simplest would be to deploy the REST API directly to IIS and consume it from there. If you want it to be more like a deliverable product, so you can still have the wsp file which can be deployed, you should create a WCF Service.
http://sharepointwiththili.blogspot.com/2016/03/create-custom-wcf-service-for.html
This can happily live in an already created solution and it can be deployed directly to SharePoint.

Develop application in Angular, Node.js, NestJS and Firebase

I have an application developed in Angular, Nodejs and Firebase.
At the moment all the logic and business rule of my application in Angular is within the services that Angular provides, so I need to perform dependency injection in my components for the consumption of the data of the Cloud Firestore.
My company is expanding with other applications that are also in healthcare, and I need to create a backend to handle every business rule of my application in a separate way from my Angular project.
I recently met NestJS, and I would love to use it as the backend of my application developed with Angular.
My question is whether you can restructure my application in Angular, Node.js, and the persistence of Cloud Firestore and Firebase Authentication offline data by creating a backend with Nestjs so that you can continue to use the benefit of working with my application on offline mode.
A summary of what I need:
1. Create a backend with Nestjs where my entire business rule will stay.
2. Consume the backend written in Nestjs in my Angular application so that you can insert, update, and delete data from my database in Cloud Firestore.
3. Reuse modules in other applications Angular or other front-end development frameworks.
4. In my Angular application, I do not want to make HTTP requests to consume the data from my backend, since I want to use the benefits of Cloud Firestore persistence of offline data.
I realized that there is the Cloud Firestore API RPC, could I work with NestJS gRPC? Reminding me that I would like to keep data persistence offline in my Angular application.
Is it possible to have a well-written system with Angular, Node.js, NestJs and the features that Firebase offers?
As far as I have understood your question, you want localstorage functionality in the app, you want structure of the app like
frontend is always getting data from localstorage
whenever app gets access to network, it refreshes its localstorage with cloud firestore behind the scenes so that app will never get slow
Please correct me if I am wrong
No support for this use case yet.
Learn more about current limitations here:
https://www.youtube.com/watch?v=oDvdAFP6OhQ&t=527s

What is the preferred method to fill my firestore database from an external api?

I have created a firestore database.
I am on the Blaze Plan.
I am using a 3rd party api with its own nodejs client library.
What is the preferred method to use to fill this forestore database with data from this 3rd party api?
Firebase hosting or cloud functions?
Thank you!
There is no way to run custom code on the Firebase Hosting servers, so Cloud Functions are the only real option between these two. If you want your Cloud Functions to be callable through custom domain, you can do so by connecting them to Firebase Hosting. But the code for connecting your API will still be running on Cloud Functions in that case, you're just using Firebase Hosting to get a nicer-looking URL for calling them.

Is it good practice to have a React Native app Publish directly to a Google Pub/Sub topic?

We are building a serverless platform consisting of Android and iOS apps build using React Native and on the backend we use Google Cloud Functions and Firebase. Given that some actions are handled by multiple Cloud Functions, we thought it would be a good idea to have the apps Publish to a Pub/Sub topic and then have the different Cloud Functions fire Subscribe events when the apps publish. Is it good practice to have a React Native app Publish directly to a Google Pub/Sub topic or should we have an HTTPS Cloud Function do the topic publishing?
If it is good practice for the apps to do the Pub/Sub, any tips on how to handle the credentials? There is a Node.js client but not a React Native one in particular. The main issue seems to be with the environmental variable you are supposed to set (e.g. export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/[FILE_NAME].json").
Thanks!
If you are going to communicate with firebase (or any server) from the client´s device, best practice is so that you use clients authentication, and not some secure token for all.
There is the benefit, that firebase comes with client authentication.
I would look into 2 ways.
use firebase directly as a queue. it´s actually capable of doing that just fine and comes automatically with firebase authentication. (see https://github.com/firebase/firebase-queue)
use firebase cloud functions. The benefit is, authentication is automatically included if you logged in the user with firebase authentication. From there, you can write a simple cloud function to add data to your queue. (see https://firebase.google.com/docs/functions/callable)

How to upload my APIREST in NodeJS (with Mongoose) to Google Cloud Platformn?

I have developed an API in NodeJs and Express, with MongoDB database, and I want to upload my API to Google Cloud Platform. I've checked some tutorials but I don't know what is the best way to upload it.
I'm using Robo3T to manage my database, I saw if I want to upload my database I need bitnami and create a MEAN project to have the database in the Google compute engine, and then, the NodeJs code in the app engine.
Is that correct?
If you can send me a good tutorial or something it will be helpful to me.

Resources