Firebase

Firebase

Application and Data / Application Hosting / Realtime Backend / API
CTO at Uilicious·

For inboxkitten.com, an opensource disposable email service;

We migrated our serverless workload from Cloud Functions for Firebase to CloudFlare workers, taking advantage of the lower cost and faster-performing edge computing of Cloudflare network. Made possible due to our extremely low CPU and RAM overhead of our serverless functions.

If I were to summarize the limitation of Cloudflare (as oppose to firebase/gcp functions), it would be ...

  1. <5ms CPU time limit
  2. Incompatible with express.js
  3. one script limitation per domain

Limitations our workload is able to conform with (YMMV)

For hosting of static files, we migrated from Firebase to CommonsHost

More details on the trade-off in between both serverless providers is in the article

READ MORE
Why we migrated opensource 😼inboxkitten (77 million serverless request) from 🔥Firebase to ☁️Cloudflare workers & 🐑CommonsHost - DEV Community 👩‍💻👨‍💻 (dev.to)
11 upvotes·214.4K views
Telecomm Engineering at Netbeast·
Shared insights
at
()

This time I want to share something different. For those that have read my stack decisions, it's normal to expect some advice on infrastructure or React Native. Lately my mind has been focusing more on product as a experience than what's it made of (anatomy). As a tech leader, I have to worry about things like: are we taking enough time for reviews? Are we improving over time? Are we faster now? Is our code of higher quality?

For all these questions you can add many great recommendations on your pipeline. We use Trello for bug-tracking and project management. We use https://danger.systems/js/ to add checks for linting, type-enforcing and other quality dimensions in our PRs and a great feature from Vercel that let's you previsualize deployments directly in a PR. However it's not easy to measure this improvements over time. For customer matters we have Amplitude or Firebase analytics, but for our internal process? That's a little bit more complicated.

I collaborated recently with some folks in a small startup as an early adopter to create a metrics dashboard for engineers. I tried to add the tool to stackshare.io but still it doesn't appear as one of the options, please take a look on it over product hunt and let us know https://www.producthunt.com/posts/scope-6

READ MORE
Scope - Software Engineering Metrics for Engineers and Team Leaders | Product Hunt (producthunt.com)
13 upvotes·164.8K views
Needs advice
on
Node.jsNode.jsGraphQLGraphQL
and
FirebaseFirebase

Hi, we are looking to create a sports app that collects and displays player stats. It will include team chats with push notifications for upcoming games etc. We are thinking of using the standard MERN stack route with a GraphQL API or a real-time Firebase database. Any advice would be greatly appreciated.

READ MORE
6 upvotes·111.3K views
Replies (3)
Senior Software Engineer at DCS Group ·

Firebase won’t provide GraphQL (out of the box) but is great for creating real-time apps. I’ve done this using Vue/Quasar framework (Quasar.dev) and Vuex with Vuefire or Vuexfire and their Firestore database. Deployment is easy as even with multiple project instances for Development/Staging/Production. Their RTDB or Firestore databases will be great for Chat apps. Push notifications are also supported. Free tier is large and serverless functions remove the need to manage servers and generally cheaper if you’re not using them 24/7. Local emulators with debugging support will speed up your coding. Firebase UI will handle most of your sign in UI. Firestore security rules allow you to move some business logic to the client side app and thus support offline and faster real-time updates as they occur client side first. Downside of Firestone is its query language is quite limited so you may also want to combine it with Google’s BigQuery to support complex SQL and reporting. Knowing what you need to query will be a deciding factor in choosing between Firebase and a GraphQL solution. There’s a BigQuery extension for Firebase to get you started. You can also use it with Google Data Studio.

If you want/need GraphQL, I’d recommend having a look at AWS Amplify. I’ve not yet used it but looks like a reasonable alternative to Firebase though pricing is likely to be a bit higher and will likely have a steeper learning curve depending on past AWS experience.

READ MORE
1 upvote·1.6K views
View all (3)
Developer at Veleza·
Needs advice
on
Node.jsNode.jsJavaScriptJavaScript
and
FirebaseFirebase

Hi all,

I need advice for object-oriented data analysis. I have exported a collection of users from Firebase to JSON, and I want to analyze it, for example, how many users are females, males, etc. Are there any tools or packages that could help me quickly analyze this data?

READ MORE
2 upvotes·96.8K views
Replies (3)
Software Engineer III at Airtel Payments Bank·
Recommends
Microsoft Excel

Excel would be a go to choice. You can do all sort (mostly) of analysis on data easily. (unless you've nested array). Apply pivots, infer tables, generate graphs.

If the data size is huge, you can also try MySQL and do queries in traditional manner.

READ MORE
1 upvote·534 views
View all (3)
Needs advice
on
MySQLMySQLLaravelLaravel
and
Cloud FirestoreCloud Firestore

I am setting up a content management system (CMS) in Laravel using #GoogleCloudPlatform. This #CMS will have quite a few polymorphic many-to-many relationships (at least 10) and for that reason I am considering whether I should use Firebase or other #NoSQL databases with Laravel.

I know that there is a laravel-firebase package by Kreait which should allow me to use the firebase as database. My question is therefore:

  1. Are there any drawbacks to using Firebase with Laravel, which I should be aware of?
  2. Can I possibly use a hybrid model where some data is stored in the SQL database (e.g. user data) while other is stored in Firebase (e.g. the content).
  3. Or should I just stick to MySQL and create the several polymorphic many-to-many relationships?
  4. Should I do both and see what works better?

Any advice is appreciated.

READ MORE
6 upvotes·98.8K views
Needs advice
on
RealmRealmPostgreSQLPostgreSQL
and
FirebaseFirebase

Hi,

I am in the process of building a mobile application and releasing it to the AppStore. Currently, we're in a TestFlight Beta with ~ 1500 users with a front-end only native iOS app. Before releasing it to production, we would like to add the following functionalities:

  1. User email authentication

  2. Being able to store and synchronise individual user's data ( generated while interacting with the app each day -> "user session" ) between various devices

  3. Having user session data ( anonymized ) available for an admin via a visual interface for querying, generating insights

  4. Simple crud interface for remote configs

  5. a/b testing

  6. GDPR requirements ( e.g. workflows for removing or exporting user data, ideally a way to keep the anonymized data too )

  7. Integration with 3rd party services like Mailchimp or Mixpanel ( which we already use, data is sent directly from the app )

Would appreciate any help with finding the right solution for this case given:

  1. Costs (we don't expect large media files storage)

  2. Flexibility to add new features related to the backend in the future

  3. Infra setup and maintenance

What I've been thinking so far was one of: 1. BaaS AWS/Firebase 2. Custom backend with PostgreSQL 3. PaaS of a Realm type (mobile app already uses Realm for local persistence)

Thanks!

READ MORE
2 upvotes·112.2K views
Needs advice
on
Nuxt.jsNuxt.jsFirebaseFirebase
and
cPanelcPanel

I'm planning to make a web app with browser games that would be a Progressive Web App. I decided to use Vue.js as the front framework and Firebase to store basic information about users. Then I found out about Nuxt.js and I figured it could be really handy for making the project as PWA.

The thing is, that I don't know if I will need Server Side Rendering for this, I couldn't find a lot of information but from what I know, the web app doesn't need SSR to be PWA. I am not sure how this would work with JavaScript browser games made with frameworks like Phaser or melon.js. Also, I host my website on GoDaddy and I've heard that it's quite hard to set up SSR with cPanel.

So my questions are:

Should I use SSR for Progressive Web Application built with Nuxt, filled with javascript browser games that are lazily loaded, or does that not make sense? If it makes sense, would SSR work with godaddy hosting and cPanel?

Any help would be appreciated!

READ MORE
7 upvotes·76K views
Replies (1)
Recommends
Nuxt.js

Perhaps you could generate static website with Nuxt and deploy on cPanel or some free static hosting.

READ MORE
6 upvotes·1.4K views
Needs advice
on
FirebaseFirebase
and
ContentfulContentful

Hi. I am gonna build a simple app for a company to ease their work. The company is sending out pdf files to their users' email. The data is a health analysis with a lot of different health values. The app should be an MVP, where users can watch their data instead of opening a pdf file. The company should be able to fill in the data in either Firebase or Contentful database. Is Contentful or Firebase best for this solution? What is your opinion?

READ MORE
5 upvotes·23.9K views
Replies (2)
Founder, CEO, CTO at NoFilter·
Recommends
Contentful
at

As far as I know, Contentful (I never used it) provides a UI where you can manually manage your data (create, edit, remove data).

You say this: The company should be able to fill in the data in either Firebase or Contentful database.

My point is that Firebase does NOT provides a User Friendly UI for filling data. You need dev-knowledge in order to use the UI of Firebase Firestore. I would recommend to check how is the UI of Contentful. Spend some hours checking how to manually enter data in Contentful. If you think it's user friendly, so go for it, because Firebase is 0% user friendly.

But, if you want to create your own form for entering the data, and saving it in contentful or firebase... Well... That's another question.

READ MORE
4 upvotes·2.1K views

Generally, I recommend not putting personally identifiable information (user information) into Contentful. If you believe the user information is not personally identifiable (emails are not stored, no full names, etc...) then you could do this in Contentful.

However once you have PII - use a combination approach.

Personal information and health records in Firebase, generic words and language and images in Contentful.

READ MORE
4 upvotes·299 views
Developer at Devonauts·
Needs advice
on
SwiftSwiftReactReact
and
Android StudioAndroid Studio

Hey everyone, I am a new self-taught developer and have some questions regarding apps. I apologize in advance if the question is too obvious or simple.

I am currently trying to build an app for a local supermarket as a way to get experience in the development world. The app needs to pull data from a MySQL database that the owner has through GoDaddy. It also needs to have an admin panel.

Problem: I have the app ready, and it works using Firebase. I also have the admin panel built with React and Redux. However, I have no idea how to integrate the app with the Admin Panel. Can somebody please mentor me in this case?

Thanks.

READ MORE
5 upvotes·24.4K views
Replies (2)
Recommends
Laravel

There isn't really enough detail in your question to give you concrete answers. React/Redux are frontend technologies, and it sounds like you have your data in a MySQL database somewhere. There is no mention of any kind of backend, so I assume you don't have one. In that case, I don't know enough about GoDaddy to know what APIs it exposes for modifying your database, but unless you want to let literally anyone with the URL to your admin panel to be able to modify your data, you're going to need to include some authentication. Now, the classic way to do this is to look into creating some sort of backend to authenticate admins (with some kind of login system. There are many ways to do this, Laravel and Ruby on Rails are fairly time-tested technologies for doing this), and also serve as an in-between from your frontend admin panel to your database. The cost of doing it this way is you're going to have to have a server to host somewhere which will add to the maintenance cost for your client. Alternatively, there are ways which don't involve creating a backend, such as OAuth authentication. This article talks about a few: https://css-tricks.com/apis-and-authentication-on-the-jamstack/. Firebase can also do authentication for you, though it sounds like it only offers an SDK, not hosting (you will still need to create a authentication server, or use OAuth or other third-party authentication tech if you use Firebase).

READ MORE
6 upvotes·1.7K views
Craft Delivery Inc·
Recommends
Node.js

I'd say keep it simple and create a small express.js back end on heroku https://devcenter.heroku.com/articles/getting-started-with-nodejs

This would communicate with the database. You would setup routes that your react app could access using something like axios

express: app.get('/products', (req, res) => { // call mysql db run query and return result // set up db connection... dbconn.query('select * from products'). then(result => { res.send(result.rows) }).catch(e => res.sendStatus(400)) }) react: axios.get('https://app.herokuapps.com/products').then(resp => console.log(resp.data))

READ MORE
3 upvotes·1.8K views
Needs advice
on
Socket.IOSocket.IOFirebaseFirebase
and
ApolloApollo

We are starting to work on a web-based platform aiming to connect artists (clients) and professional freelancers (service providers). In-app, timeline-based, real-time communication between users (& storing it), file transfers, and push notifications are essential core features. We are considering using Node.js, ExpressJS, React, MongoDB stack with Socket.IO & Apollo, or maybe using Real-Time Database and functionalities of Firebase.

READ MORE
9 upvotes·635K views
Replies (3)
Junior Full Stack Developer at Freelance·
Recommends
Firebase

I would recommend looking hard into Firebase for this project, especially if you do not have dedicated full-stack or backend members on your team.

The real time database, as you mentioned, is a great option, but I would also look into Firestore. Similar to RTDB, it adds more functions and some cool methods as well. Also, another great thing about Firebase is you have easy access to storage and dead simple auth as well.

Node.js Express MongoDB Socket.IO and Apollo are great technologies as well, and may be the better option if you do not wish to cede as much control to third parties in your application.

Overall, I say if you wish to focus more time developing your React application instead of other parts of your stack, Firebase is a great way to do that.

READ MORE
7 upvotes·2 comments·254K views
Ajay M
Ajay M
·
July 21st 2020 at 8:53PM

I totally agree with you.

The only issue is most features of firebase are paid (and from my perspective costly) which could be a concern when the app grows and they might need to migrate which would be a lot of work.

But if it's only a prototyping then it's all good.

·
Reply
Timothy Malstead
Timothy Malstead
·
July 21st 2020 at 10:07PM

I hear you. I honestly haven't looked into hosting costs of Firebase vs Express/Mongo much.

·
Reply
View all (3)