¿Cómo implementar el control de versiones en Firebase?

Actualmente estoy usando Firebase como una herramienta de creación de prototypes para mostrar un layout frontal para una herramienta de documentation . En el process, nos ha gustado mucho el poder en time real de Firebase, y estamos explorando el potencial para usarlo en nuestra instancia de producción de una versión de código abierto / comunidad.

El primer desafío es el control de versiones . Nuestro proyecto henetworkingado utilizó Hibernate / Envers en una stack de Java, y anteriormente estábamos viendo a Gitlab como una forma de pasar a un entorno de git más "familiar".

¿De esta manera?

¿Hay alguna manera de marcar la date y la versión de los datos que se guardan? ¿Y pensamientos sobre cómo recordar mejor estos datos sin networkingiseñar la rueda (por ejemplo, cualquier module de fuente abierta?)?

El aspecto en time real de algo así como Firepad es excelente para la documentation, pero se requieren los medios para confirmar o marcar claramente el estado o el guardado de un documento.

¿O?

O bien, es mejor utilizar Firebase solo para la funcionalidad en time real, e implementar Gitlab para que la instancia no se base en time real en una database. En otras palabras, ¿abstraer el control de la versión completamente a una relación más tradicional con un db?

¿Pensamientos?

Ambas opciones que ofrece son válidas y factibles. En general, te sugiero que uses firebase solo como tu stack en time real (synchronization de datos). Y conéctelo a su propio backend (gitlib o custom-db).

He seguido ese path, y encuentro que la mejor solución es integrar tu propio db back-end con firebase en la parte superior. Depende de firebase exclusivamente para todo, y llegarás a las panetworkinges tarde o temprano …
La mejor solución es mantener el control total de la estructura de datos, los models de security y acceso, y usar Firebase donde sea necesario para mantener a los clientes sincronizados (en línea y fuera de línea). La integración es simple.