flutter_adminpanel 2.0.3
flutter_adminpanel: ^2.0.3 copied to clipboard
A comprehensive Flutter admin panel library similar to react-admin with universal REST API adapter for any backend
Flutter AdminPanel #
A comprehensive Flutter admin panel library inspired by react-admin, with a universal adapter system for any data source.
๐ Documentation #
Read the full documentation on GitBook โ
โจ Features #
- ๐จ Modern UI - Clean, Material Design 3 interface
- ๐ Universal Adapters - Connect to any data source with REST API
- ๐ง Plug-and-Play - No forced dependencies, use only what you need
- ๐๏ธ Event Management - Complete event lifecycle with automatic status updates
- ๐ฑ Cross-Platform - Works on Web, Mobile, and Desktop
- ๐ Type Safe - Written in Dart with strong typing
- โก High Performance - Optimized for large datasets
- ๐ Offline Support - Built-in caching and sync
- ๐ฏ Production Ready - Battle-tested in real-world applications
๐ Quick Links #
- Installation Guide - Get started in 5 minutes
- Quick Start - Build your first admin panel
- Adapters Guide - Connect to any data source
- API Reference - Complete API documentation
- Examples - Working example application
๐ฆ Supported Data Sources #
Built-in (No Extra Dependencies) #
- โ REST API - Works with any RESTful backend
๐ฆ Installation #
dependencies:
flutter_adminpanel: ^1.4.1
flutter pub get
๐ Full Installation Guide โ
โก Quick Start #
Step 1: Choose Your Data Provider #
import 'package:flutter/material.dart';
import 'package:flutter_adminpanel/flutter_adminpanel.dart';
import 'package:flutter_adminpanel/adapters/rest.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
// Register REST API provider
final provider = await registerRestProvider(
baseUrl: 'https://api.example.com',
);
runApp(MyAdminApp(provider: provider));
}
Step 2: Build Your Admin Panel #
class MyAdminApp extends StatelessWidget {
final DataProvider provider;
const MyAdminApp({Key? key, required this.provider}) : super(key: key);
@override
Widget build(BuildContext context) {
return AdminApp(
title: 'My Admin Panel',
dataProvider: provider,
resources: [
Resource(
name: 'products',
list: ProductListScreen(),
create: ProductCreateScreen(),
edit: ProductEditScreen(),
),
],
);
}
}
Step 3: Define Your Resource #
class ProductListScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return ResourceList(
resource: 'products',
columns: [
ColumnConfig(field: 'id', label: 'ID', width: 80),
ColumnConfig(field: 'name', label: 'Name', sortable: true),
ColumnConfig(
field: 'price',
label: 'Price',
sortable: true,
format: (value) => '\$${value.toStringAsFixed(2)}',
),
],
);
}
}
๐ Complete Quick Start Guide โ
๐ Universal Adapter System #
Connect to any data source without adding unnecessary dependencies:
// REST API
import 'package:flutter_adminpanel/adapters/rest.dart';
final provider = await registerRestProvider(baseUrl: 'https://api.example.com');
๐ Documentation #
Getting Started #
- Installation - Setup guide
- Quick Start - Build your first admin panel
- Core Concepts - Architecture overview
Data Providers #
- Adapters Guide - Universal adapter system
- REST API - Generic REST API support
- Custom Providers - Create your own
Features #
- Event Management - Lifecycle management
- Onboarding System - User onboarding
- Analytics - Charts and dashboards
- Offline Mode - Caching and sync
Reference #
- API Reference - Complete API docs
- Configuration - All config options
- Troubleshooting - Common issues
- Changelog - Version history
๐ฏ Example Application #
See the example directory for a complete admin panel with:
- REST API data provider
- Event management
- Onboarding flow
- File uploads
๐งช Testing #
# Run unit tests
flutter test
# Run integration tests
cd example
flutter test integration_test/
๐๏ธ Architecture #
AdminApp
โโโ Data Provider Registry (Adapter System)
โ โโโ REST API Adapter
โ โโโ Custom Adapters
โโโ Resources
โ โโโ List View
โ โโโ Create Form
โ โโโ Edit Form
โ โโโ Show View
โโโ Services
โโโ Event Management
โโโ Offline Storage
โโโ File Handling
๐ Comparison with react-admin #
| Feature | react-admin | flutter_adminpanel |
|---|---|---|
| Framework | React (Web) | Flutter (Cross-platform) |
| Language | JavaScript/TypeScript | Dart |
| Data Providers | Multiple | Universal Adapter System |
| UI Components | Material-UI | Material Design 3 |
| Platform | Web only | Web, Mobile, Desktop |
| Type Safety | TypeScript | Dart (built-in) |
| Offline Support | Limited | Built-in with RADA |
๐ค Contributing #
We welcome contributions! See our GitHub repository for:
๐ License #
MIT License - see LICENSE file for details.
๐ Support #
Made with โค๏ธ by NativeMind