Trying to decide between Firebase vs MySQL for new site

I’m looking for opinions on the pros and cons of MySQL and Firebase when it comes to developing a new site for my company. We’re a B2B wholesale business that is in the process of redesigning our site from scratch. The main purpose of this site will be for customers to have a self-service system to browse the products and quickly make their own quotations, and in the near future to incorporate payment gateways to allow for payment with credit cards, Paypal and wire transfers.

We have contacted with a few web development firms to work on proposals for the new site. I’ve narrowed it to a couple of proposals, but today the topic came up about using Firebase or MySQL for the site. I am a marketing professional, and while I am also a techie and have a passable knowledge of web technologies at a basic level, I am by no means a developer, so I’d like to gather as many opinions as possible to help me decide on this topic.

The initial website would have the self-service system with inventory management for aprox. 200 products, with several variants in most of them, for different combined variables (size, color, materials, packaging), and a couple price scales; a registered user area with order history, customer details, etc., as well as the usual bells and whistles of a business site. The site would be in two languages (English and Spanish), with the possibility of adding a third in the future.

On the short term, we’d like to evaluate customer feedback and user experience to decide if we should develop a Progressive Web App so our customers can have easier access to the system. As we don’t anticipate needing to use a phone’s hardware (GPS, accelerometer, etc.) we think a native app would be overkill, and believe our customers would appreciate the small size and fast install of a PWA.

On the medium to long term, we’d be adding more products, categories, shipping options (some with SDKs and APIs to external providers) and payment processing; as well as more product images, maybe product videos and a resources section with tutorials and industry white papers; and increasing traffic not only from new customers, local and foreign, but by encouraging our existing ones to use the self-service system. One thing we’ve also considered is leaving the door open for third-party vendors that might be interested in selling related products through our platform.

All this considered, what would you recommend we choose for a database system? Firebase or MySQL? Considering that my main concerns for the site are scalability, performance/UX, efficiency, cost of hosting, as well as future proofing the system for new technologies and tools we might want to implement on the system.

I am aware no system is perfect and we’ll have to sacrifice some of these things for others, but I’d still like to hear your opinions in order to make an informed decision. I have been reading on Firebase, but most of the posts about it I’ve found are a couple years old, and I am not sure if the issues brought up in 2017 are still valid today.

Thank you so much for your input and thoughts, and if I forgot to add any relevant information, please let me know.

How to decide the part of an Ajax call QueryString in c#

I am encoding the query string in an Ajax call in Javascript using encodeURL() but I can find a way to then decode it on the server (in c#) I use HttpContext.Current.Request[“ID”] to get the parameter values from the query string. In the debugger if I watch Request.QueryString I can see it is fully encoded but it wont Decode.

I have tried using HttpUtility.UrlDecode(HttpContect.Current.Request[“ID”]) but it doesn’t appear to decode it. What am I missing?

Or should I be using a completely different way too get the query values?

How to decide an Objective Function?


In the Njaba river basin, the available water was allocated for the purposes of consumption, irrigation, and electric power supply among three communities. The water allocated per annum per capita for all use in these communities are 10m3 , 10m3 and 30m3 . The allocations were made based on the critical factors of population, land area and the industrialization. The populations of the communities are 300, 200, and 100, power supply capacities are 20W, 10W and 20W while the land areas for irrigation are 50 hectares, 40 hectares, and 30 hectares respectively. Allowable allocations limits of more than 300, 100 and 80 were stipulated for the purposes. Using the above information, formulate, (a) Linear Programming Model for the basin. (b) Maximization the allocations made Assume non-negativity condition?


I’m learning this course for the very first time so for understanding this subject and it’s problems, I’m trying to solve different problems. I’m recently solving this problem showing above. As it is a solved example I found on the internet, here’s the objective function and constraints.


Let the three communities be denoted by the variables x, y, and z. The objective function should be based on the allocation per annum, per capita for the basin as stated;

Z = 10x + 10y + 30z

The constraints can be formulated thus;

300x + 200y + 100z > 300 20x + 10y + 20z > 100 50x + 40y + 30z > 80

Under the negativity conditions of

X, Y, Z > 0


My confusion is writing an objecting function in this question. When different communities are supplied water for different use then it’s obvious that usage of water in every community for different use is different. Like annually, per person usage of water would be different. If a person is using water only for domestic need the whole year, they are nothing to do with the irrigation and electric power supply so how could this line be justifiable that

*The water allocated per annum per capita


for all use


in these communities are 10m3 , 10m3 and 30m3 *?

like every single person is allocated water for all uses like for basic consumption, irrigation, electric power supply means they’re providing extra water?

Hope so everyone is getting my question and will sort out my query so I better solve questions on my own.

What issues would arise if I decide to move my local network to IPv6?

I am managing a small corporate network, and actively investigate the possibility of getting rid of IPv4 entirely, at least on the LAN level. I intend to disable IPv4 DHCP and connect to each machine using their IPv6 addresses.

All of my devices support IPv6. My ISP is currently running dual stack (IPv4 + IPv6). What issues would arise if I decide to move my local network to IPv6?

Here are my efforts so far:

  1. I bought a static IP address (fyi it costs additional money in my country) and my ISP gave me a static IPv4 one. My public IPv6 address still changes after a router reboot. I asked for a static v6 address but the technical support couldn’t help. They said they were running IPv6 on top of IPv4 or something like that.
  2. If I change the WAN connection in my router from the default IPv4 + IPv6 to IPv4 only, it works. But if I set it to IPv6 only, I cannot connect to the Internet. I don’t know why yet.
  3. By disabling IPv4 support from Windows Network Adapter Properties, web browsers start looking for AAAA DNS records. Most websites still use A record, and do not have AAAA record (maybe because they don’t have static IPv6 address for it). The web browser cannot fall back to IPv4 option, and the domain names cannot be resolved.

Is it practical to use IPv6 exclusively on LAN as of now?

Can I decide to lower my Initiative after rolling it in order to permanently change my position in the sequence of turns? [duplicate]

This question already has an answer here:

  • Can I delay my turn in D&D 5e? 3 answers

The current question is in some sense a follow-up to the following one:

Can I delay my turn in D&D 5e?

The answer to that question is no. The only means to acting at a different turn in the round than that which was assigned to you via Initiative rolls is the Ready action.

However, what if I decide right at the beginning of the encounter that I want to change the position of my turn permanently? Can I choose to lower my initiative? Is there any other way to achieve a similar effect?

How to decide to what should go in more options menu?

I was deciding what should go in menu of the app I am developing. Here menu: means more option menu at bottom nav with … icon.

I looked in other apps out there I notice something strange. That some options like about, signout, upgrade to premium, support are under settings menu item. I could not understand what is the basis for this (those things cannot be categorized under settings)? I suppose reason may be designer hide less important menu items under settings, to avoid overwhelming users with large number of options on the more options menu.

I have following items to organize under more options menu.

profile, notifications, stats, settings, help, feedback, community, sign out, upgrade to premium, invite

Among them I have identified items with high importance

profile, stats, settings, notifications

should I hide the remaining under settings? How should I go about organizing this more options menu?

How to decide max-width in XD?

I have seen old questions about this subject but they are quite old. I guess things change so that is why I ask this. I want to be updated.

I am about to design a web page mockup in Adobe XD. I will only design in XD – coders will then transform my designs into a webpage. I don’t have any data of the users since it is a new project.

The page will be responsive of course. I don’t want it to be full-width design but rather a fixed width webpage with different breakpoints all the way from large monitors all the way down to smartphones.

I am trying to find where these breakpoints should be. I want to start designing the maximum width page and then move my way down when it comes to size.

However, what should the max-width be for people with 4k screens? It is so confusing because of different scalings and different monitors. Where should the breakpoints be? I have seen that Google’s recommends breakpoints but it is all in dp instead of px. AdobeXD does not work with dp. I just wish someone could tell me what breakpoints to use in XD so that I can start designing.

Any tips would be greatly appreciated!

What pattern lets each of multiple “voters” decide on a central status?

Imagine there’s a boolean status variable that is either running or stopped.

This variable is running by default and comes together with a deactivator function.

When a client calls the deactivator function, the status changes to stopped.

Calling the deactivator function returns a cancel function, which, when called, reverts the status back to running again.

If multiple clients call the deactivator function, each receives a separate cancel function. As soon as the first client calls the deactivator, the status is stopped and remains so until the last caller to deactivate has called its cancel function.

In other words, every caller can trigger a stopped, and only when no-one is voting stopped, it is running.

What is the name of that pattern?

Update: while I can implement this, I believe it has been done numerous times in the language I use (nodejs), that’s why I’m looking for the name.

Update 2: I’ve implemented this in the meantime, but still looking for a name!