Necesito ayuda ya que para obtener los datos de firebase

Hola expertos, necesito de su ayuda ya que estoy haciendo una app, esta app es para restaurantes (es una práctica de escuela) manda el texto que pusiste en para poner texto, este texto “Orden” junto con el número de mesa serán enviados a la base de datos firebase, para las etiquetas puse que se uniera lo que pusiste en el texto junto con la orden y el número de mesa, esto ya que si lo hago con el “número de mesa” si el cliente quiere agregar otra orden se eliminará la otra automáticamente, por eso se tomará como etiqueta principal lo que pusiste en texto “Orden”.

Necesito ayuda ya que para obtener los datos de firebase necesitaría hacer millones de combinaciones de las etiquetas, y eso no lo voy a hacer, esta app está pensada en un restaurante verdadero, que varios clientes envíen su orden y en otra app que aparezcan su orden y su pedido, está diseñada para capturar varias órdenes, como puedo poner las etiquetas o como puedo capturar los datos de la base de datos con las etiquetas que mencioné anteriormente sobre unir la orden.

2 Likes

Please show your relevant blocks

1 Like


Quiero obtener los datos de firebase en otra app pero nose como tomar la etiqueta si es aleatorio quiero decir que la etiqueta es la orden del cliente (es una app para restaurante) y a base de esa etiqueta se guarda el numero de mesa y la orden nuevamente, pero no se como obtenerlo.

habrá una manera de capturar toda la base sin poner la etiqueta principal?

1 Like

I believe we will need to see an example of your firebase structure as well, take a screenshot of the data as shown in your firebase console

1 Like

como puedes ver la etiqueta principal es la orden del cliente y de ahí se guarda los otros datos como el numero de mesa y el precio.

lo que quiero es obtener los datos en otra app pero no se como poner la etiqueta si la etiqueta es la orden del cliente por lo tanto son varias combinaciones

1 Like

I wouldn't recommend that you store your data like this. The tag should be split out into additional tag elements. You tag should really just be the order number / table

2 Likes

Entonces lo almacenaría como el costo total de pedido? o como el número de mesa?, sin embargo si lo pongo en el número de mesa cuando el cliente haga otro pedido se cambiarán los datos, hay una manera en que no se puedan borrar?

1 Like

I would probably setup my firebase structure something like this:

I would have another structure for pricing of order items

2 Likes

Okey muchas gracias, hay una manera de que se genere el ON001-ON010 automaticamente para que varios dispositivos puedan enviar su orden al firebase y al mismo tiempo capturarlos en un visor de lista en otra app?

O como le aria para que se guarden con ON001-ON010 dependiendo si hay una orden con esa etiqueta que la guarde y si no hay una similar que se guarde con ON002 y así consecutivamente en varios dispositivos moviles con esa app

1 Like

Y a que te refieres con Tabla?

1 Like

This is where it can get complicated. Firebase does not have or seek to use incrementally numbering. it provides pushIDs that are sequential (these look a bit like google drive file IDs). Your issue is ensuring that two different devices do not use the same order number.

You could overcome this by generating order numbers for each device, ... so that device 1 would start with ON010001 and device 2 would start with ON020001. You could add a date and time tag to the order to be able to track orders on all devices.

Table = mesa ?

3 Likes

Cómo puedo generar números de pedido por cada dispositivo?

Muchas gracias por tu tiempo, lo agradezco demasiado y lo admiro de tu parte, eres una persona muy inteligente. Gracias

I have an idea as to how this might work. Will take me some time to put it together for you

Please see the attached aia project

Restaurant.aia (7.6 KB)

You will need to add your own FirebaseToken (API key) and firebase url before running in companion.

In your firebase console you will need to setup your data structure like this:

image
(Prices is not important for this example, but put in a couple of entries.)

Set the index of the device

When a device first runs the app, it displays the Register Device button. The user clicks on this, and sets the device to the next device number. The button is not shown again, and the device will retain the device name and number using the tinydb.

Set the Server (person serving at table)

The user presses the Sign In button. If no servers have been registered then "Servers" is setup on firebase as an AI2 list, the first item being "Not in list". The user can enter their name, and this can then be used as a part of the order data. If servers have been previously setup, then the user is presented with a list to select from. If their name is not in the list, then they select "Not in list" and can then enter their name, which will be added to the list of names for next time. The server list will show the same on all devices.

Set the next order number by device

I have provided an index generator routine. The app uses this and the device number to generates the next order number. This all happens on the device, and is not concerned with whoever is the server.

I haven't gone into the adding of items to the order or saving orders to firebase.

1 Like

Okey, ya entendí, guardar el menú del restaurante en firebase, y de ahí que el usuario elija su orden, solo una cosa, tengo planeado hacer otra app a base de la anterior para los cocineros y meseros de esta manera se vera su orden y numero de mesa que ya han elegido en la app de "pedir orden" (la primera), entonces tengo que hacer otra etiqueta de su orden o como va guardar su orden para poderla enviar a la cocina y que los cocineros preparen su orden de comida y que los meseros puedan llevarla a su mesa.

Estuve viendo opciones en videos de youtube, una de esas es generar números aleatorios de una lista, estos números serán la etiqueta principal de la orden y abajo aparecerá su orden y numero de mesa.

Pero sin embargo lo estuve probando pero no se como hacer que genere números aleatorios diferentes ya generados en firebase, ósea que genere números diferentes a los ya generados en firebase.

Te muestro como quedaría.

image