Core Features
This document provides detailed information about the core features in the Flutter Riverpod Clean Architecture template.
🚀 Showcase Features (New!)
Real-Time Chat (WebSocket)
A full implementation of a WebSocket-based chat application.
- Access: Ref -> ChatProvider
- Architecture: Stream<Message> in Domain layer
- Tech: web_socket_channel, Optimistic UI updates
- Path: lib/features/chat/
Complex Survey Form
Advanced form handling with validation and conditional logic.
- Tech: flutter_form_builder
- Features:
- Async validation (e.g., username availability)
- Conditional fields (dependent on previous answers)
- Custom form inputs
- Path: lib/features/survey/
Analytics Integration
Track user interactions and app performance with a flexible analytics system:
// Access analytics
final analytics = ref.watch(analyticsProvider);
// Log screen views
analytics.logScreenView('HomeScreen', parameters: {'referrer': 'deeplink'});
// Log user actions
analytics.logUserAction(
action: 'button_tap',
category: 'engagement',
label: 'sign_up_button',
);
For more details, see the Analytics Guide.
Push Notifications
Complete notification handling with deep linking and background processing:
// Access notification service
final service = ref.watch(notificationServiceProvider);
// Request permission
final status = await service.requestPermission();
// Show a local notification
await service.showLocalNotification(
id: 'msg-123',
title: 'New message',
body: 'You received a new message from John',
action: '/chat/john',
channel: 'messages',
);
Biometric Authentication
Secure fingerprint and face recognition for protecting sensitive operations:
// Access biometric authentication
final biometricAuth = ref.watch(biometricAuthControllerProvider);
// Authenticate the user
if (isAvailable) {
final result = await biometricAuth.authenticate(
reason: 'Please authenticate to access your account',
authReason: AuthReason.appAccess,
);
}
For more details, see the Biometric Auth Guide.
Feature Flags
Runtime feature toggling for A/B testing and staged rollouts:
// Check if a feature is enabled
if (service.isFeatureEnabled('premium_features')) {
// Show premium features
}
For more details, see the Feature Flags Guide.
Advanced Image Handling
Optimized image loading with caching, SVG support, effects, and beautiful placeholders.
For more details, see the Image Handling Guide.
Multi-language Support
Built-in internationalization with easy language switching:
// Access translated text
Text(context.tr('common.welcome_message'));
For more details, see the Localization Guide.
Advanced Caching System
The project implements a robust two-level caching system with both memory and disk storage options.
// Using the cache
final cacheManager = ref.watch(userDiskCacheProvider);
await cacheManager.setItem('user_1', userEntity);
Dynamic Theming
The theme system allows for complete customization of app appearance.
// Use in MaterialApp
return MaterialApp(
theme: themeConfig.lightTheme,
darkTheme: themeConfig.darkTheme,
themeMode: themeMode,
);
Accessibility
Make your app inclusive and usable by everyone.
For more details, see the Accessibility Guide.
Offline-First Architecture
Keep your app working seamlessly with or without an internet connection.
For more details, see the Offline Architecture Guide.
App Update Flow
Manage app updates with customizable flows.
App Review System
Get feedback and ratings from your users.