Frequently Asked Questions
General
What is Dogen?
Dogen is a generation platform that creates custom Firestore clients based on your data structure blueprints. It provides type safety, validation, and a powerful UI for managing your data, all while keeping your actual data private in your own Firebase project.
Does Dogen access my data?
No. Dogen only works with your structural blueprints. Your actual data remains exclusively in your Firebase project. Dogen never sees or accesses your data. Furthermore, Dogen's client never communicates with Dogen's services directly. All communication goes through the Open Source Dogen AP Firebase Extension.
Can I use Dogen with an existing Firestore database?
Yes. Dogen can work with both new and existing Firestore databases. You can create blueprints that match your existing data structure and gradually enhance it with Dogen's features.
Can I create my own type flavors?
Currently, custom coded type flavors are not supported. However, this feature is technically feasible and could be implemented if there is sufficient user demand. If theres a specific type flavor you would like to see, please let us know in the Discord community.
Blueprints
How flexible are blueprints?
Blueprints are highly flexible. You can create simple or complex data structures using a combination of internal types, custom entities, and type flavors. There are no restrictions on how you structure your data as long as its JSON compatible.
Can I modify blueprints after creating them?
Yes. You can modify blueprints at any time. After making changes, create a new generation to update your client. The preview feature lets you verify changes before publishing them.
What happens if I make a mistake in a blueprint?
If you encounter issues with your blueprints, you can use the "Restore Blueprints" feature from any previous generation to recover a working version. Always ensure you have a working generation before making major changes.
Generations
How long does generation take?
Generation typically take between 5 and 8 minutes. The exact time depends on the complexity of your blueprints and the current service load.
Can I test a generation before making it live?
Yes. Every generation can be previewed before being published. This allows you to verify your changes and ensure everything works as expected.
Can I roll back to a previous version?
Yes. You can demote the current generation and the next latest published generation will become live. This makes it safe to experiment with changes knowing you can always return to a working version.
Configuration
What can I configure after generation?
You can configure default values, validation rules, UI display settings, and manage config parameters. These changes take effect immediately without requiring a new generation.
How do Config Parameters compare to Firebase Remote Config?
Config Parameters offer more structural flexibility than Remote Config, with no fetch limits, full type safety, and support for complex data structures. They're also integrated directly with your Firestore database. Remote Config has more dynamic capabilities and is more suited for client-side configuration.
Technical
What are Dogen's Firebase requirements?
Dogen requires a Firebase project with Firestore, Storage, and Authentication enabled. The Dogen Application Platform extension must be installed in your project.
What technologies does Dogen utilize?
Dogen uses Dart and Flutter for client generation. The backend services are built with TypeScript for cloud functions, ensuring type safety and reliability across the platform.
Still have questions? We're here to help!
Join our Discord community for support and discussions.