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
- 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
