Open-source Firebase Admin GUI built with Flutter
A powerful desktop alternative to Firebase Console for managing Firestore, Authentication, and more.
Package Name: fire_flame_studio
Organization: com.stepanic
Target Platforms: Windows, macOS, Linux (Desktop only)
Current Phase: Phase 1 - Project Setup & Authentication β
- Clean Architecture with feature-based folder structure
- Riverpod 2.x for state management (with code generation)
- Freezed for immutable models
- Hive for local persistence
- dart_firebase_admin for Firebase operations
| Package | Version | Purpose |
|---|---|---|
| flutter_riverpod | ^3.0.0 | State management |
| dart_firebase_admin | 0.4.1 | Firebase Admin SDK |
| hive | ^2.2.3 | Local storage |
| freezed | ^3.0.0 | Code generation |
| window_manager | 0.5.1 | Desktop window control |
| file_picker | >=8.1.2 | File selection |
| data_table_2 | ^2.0.0 | Data tables |
| google_fonts | ^6.1.0 | Typography |
- Flutter SDK 3.6.0 or higher
- Dart SDK 3.6.0 or higher
- Desktop development enabled (Windows/macOS/Linux)
git clone https://github.com/stepanic/fire-flame-studio.git
cd fire-flame-studioflutter pub getIMPORTANT: You must run this command to generate required files (Freezed, Riverpod, Hive adapters):
dart run build_runner build --delete-conflicting-outputsThis will generate:
firebase_project.freezed.dart- Freezed modelsfirebase_project.g.dart- Hive adapters + JSON serializationproject_list_provider.g.dart- Riverpod providers
# For Windows
flutter run -d windows
# For macOS
flutter run -d macos
# For Linux
flutter run -d linuxlib/
βββ main.dart # App entry point
βββ nav.dart # GoRouter navigation
βββ theme.dart # App theme (light/dark)
βββ features/
β βββ projects/ # Project management feature
β βββ data/
β β βββ models/
β β β βββ firebase_project.dart # Freezed + Hive model
β β βββ repositories/
β β β βββ project_repository.dart # Data layer
β β βββ services/
β β βββ firebase_admin_service.dart # Firebase SDK singleton
β βββ presentation/
β βββ providers/
β β βββ project_list_provider.dart # Riverpod providers
β βββ pages/
β β βββ onboarding_page.dart # Add first project
β β βββ project_selector_page.dart # View all projects
β βββ widgets/
β βββ project_card.dart # Project list item
βββ screens/
βββ welcome_screen.dart # Landing page
- β Add Firebase projects via service account JSON
- β Store projects locally with Hive
- β Switch between multiple projects
- β View project list
- β Delete projects
- β Automatic Firebase Admin SDK initialization
- β Beautiful onboarding screen
- β Project selector with active project indicator
- β Responsive desktop layout (1400x900 default)
- β Light/Dark theme support
- β Firebase-inspired color palette
- β GoRouter setup
- β Welcome screen β Onboarding
- β Welcome screen β Project selector
- β Project selector β Switch projects
# Watch mode (auto-regenerate on file changes)
dart run build_runner watch --delete-conflicting-outputs
# One-time build
dart run build_runner build --delete-conflicting-outputs
# Clean generated files
dart run build_runner clean# Run all tests
flutter test
# Run with coverage
flutter test --coverage# Analyze code
dart analyze
# Format code
dart format .To use Fire Flame Studio, you need a Firebase service account JSON file:
- Go to Firebase Console
- Select your project
- Click βοΈ Settings β Project Settings
- Navigate to Service Accounts tab
- Click "Generate new private key"
- Save the JSON file securely
- Import it in Fire Flame Studio
Fire Flame Studio uses a Firebase-inspired color palette:
- Primary:
#FF6F00(Deep Orange) - Secondary:
#FFA000(Amber) - Background:
#F5F5F5(Light Gray)
- Primary:
#FFB74D(Light Orange) - Secondary:
#FFCA28(Light Amber) - Background:
#1E1E1E(Dark Gray)
Customize colors in lib/theme.dart.
- Project management
- Firebase Admin SDK integration
- Local storage with Hive
- Navigation rail with feature tabs
- Dashboard overview
- Settings panel
- Collection browser
- Document viewer/editor
- Query builder
- Bulk operations
- Export/Import (JSON, CSV)
- User list with pagination
- User details viewer
- Create/update/delete users
- Bulk operations
- Storage browser
- Analytics dashboard
- Realtime Database viewer
- Cloud Functions logs
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Found a bug or have a feature request?
Report it on GitHub Issues
- Built with Flutter
- Uses dart_firebase_admin
- Inspired by Firebase Console
Stepanic - @stepanic
Project Link: https://github.com/stepanic/fire-flame-studio
Made with β€οΈ and π₯ by the open-source community