Firebase Editor is a mobile application built using Flutter and Firebase. It provides an intuitive interface for managing Firebase databases, collections, and documents. The app also includes advanced features like batch operations, real-time notifications, analytics, and a version control system, making it a powerful tool for developers working with Firebase.
-
Comprehensive CRUD Operations
- Easily create, read, update, and delete documents within your Firebase databases.
- Support for batch operations to perform CRUD actions on multiple records simultaneously.
- Inline editing capabilities for quick modifications.
-
Real-time Notifications
- Receive instant notifications for any additions, updates, or deletions in your Firebase records.
- Customize notification preferences based on specific collections or documents.
- Leverages Firebase Cloud Messaging and Cloud Functions for efficient and reliable notification delivery.
-
Secure Authentication and Authorization
- Utilizes Google OAuth 2.0 for secure user authentication.
- Short-lived access tokens ensure enhanced security during data interactions.
-
Search and Filter
- Powerful search functionality to quickly locate records across projects, databases, and collections.
-
Data Export
- Export data in popular formats such as JSON for external use and backups.
- Supports bulk data operations with error handling and validation.
-
Data Visualization and Analytics
- Interactive dashboards providing visual insights into your database operations.
- Monitor key metrics such as user activity, and operation frequencies.
-
Audit Logging and History Tracking
- Detailed logs of all operations performed within the app, including timestamps and user information.
- Enhances accountability and facilitates debugging by maintaining a comprehensive activity history.
-
Project and Database Management
- View and manage all your Firebase projects in one centralized interface.
- Navigate through different databases, collections, and documents with ease.
-
User-friendly Interface
- Clean and intuitive design ensuring a smooth user experience across all functionalities.
- Responsive layouts optimized for various mobile devices and screen sizes.
- In-app help and documentation to guide users through different features and operations.
The app uses Google OAuth 2.0 for user authentication, allowing access to your Firebase projects. A short-lived access token is obtained to interact with your Firebase data securely.
- Device Tokens: Temporarily stored to send real-time notifications regarding updates to Firebase projects.
- Operations Data: Tracks and stores information about the actions performed within the app, which is used for analytics and user history.
- Google Cloud Platform: Accesses and manages your Google Cloud data.
- Cloud Datastore API: Views and manages your Google Cloud Datastore data.
Users have the right to access, control, and request the deletion of their data. Access granted through Google OAuth 2.0 can be revoked at any time.
The app uses Cloud Functions to handle notifications, ensuring real-time updates on Firebase projects.
π₯π» Detailed Guide
- Go to Firebase
- Follow From Step 1 to Step 12
Step 1 | Step 2 |
---|---|
Step 3 | Step 4 |
---|---|
Step 5 | Step 6 |
---|---|
Step 7 | Step 8 |
---|---|
Step 9 | Step 10 |
---|---|
Step 11 | Step 12 |
---|---|
App Guide 1 |
---|
App Guide 2 |
---|
App Guide 3 |
---|
App Guide 4 |
---|
App Guide 5 |
---|
App Guide 6 |
---|
App Guide 7 |
---|
App Guide 8 |
---|
App Guide 9 |
---|
π· Screenshots of APP UI
Onboarding Screen 1 | Onboarding Screen 2 | Onboarding Screen 3 | Login Screen |
---|---|---|---|
Welcome Screen | Home Screen 1 | Home Screen 2 | Drawer Screen |
---|---|---|---|
Projects Screen | Databases Screen | Collections Screen | Documents Screen |
---|---|---|---|
Batch Operations Screen | User Profile Screen | Help Screen | Enable Notification Screen |
---|---|---|---|
Edit Field Data Type Screen | Edit Field Value Screen | Add Field Screen | History Screen |
---|---|---|---|
This section lists all the projects associated with the account you are currently signed in to. You can navigate to project details, which lists the databases of that particular project.
After selecting a database, you can add collections. The collection name should exactly match the collection name in your Firebase project (case sensitive). In the collections, you can view the documents, create new documents, delete existing documents, and perform batch operations.
Batch operations allow you to add or delete fields from multiple documents at once. You can even download the document data (single or multiple) in JSON format and use it in your other applications.
This app has a version control system that keeps track of updates in the database, listing details such as project ID, database ID, collection ID, document ID, the field that is updated, operation type (update, add, delete), time and date of the update, and the user who updated it. This ensures transparency, a feature that is not present in the Firebase console.
Real-time notifications are sent to all users when a record is updated, a feature that is not available in the Firebase console.
You can go to each document to update field values and types, add or delete fields, and more.
View simple analytics of operations performed in the last 30 days. This feature provides insight into your database activity.
Start by forking the repository to your own GitHub account. This will allow you to make changes and deploy the app from your own copy of the code.
- Use the Firebase CLI to set up a new Firebase project.
- Follow the instructions to connect the Firebase Editor app to your Firebase project.
- Go to the Google Cloud Console and navigate to the Firebase project you set up.
- Enable OAuth and set up OAuth credentials.
- Make sure to include the following OAuth scopes:
https://www.googleapis.com/auth/datastore
https://www.googleapis.com/auth/cloud-platform
https://www.googleapis.com/auth/firebase.messaging
- For real-time notifications, you need to set up your own server to manage OAuth 2.0 credentials.
- In this project, we have used Google Cloud Functions, which is the recommended approach.
- Set up Cloud Functions in your Firebase project to handle notifications and other server-side operations.
- Firebase Database API Firebase Database API
- Google Oauth 2.0 Google Oauth 2.0
- Firebase Cloud Messaging API FCM API