petracore_flutter_frontend_starter 1.0.4
petracore_flutter_frontend_starter: ^1.0.4 copied to clipboard
A powerful CLI tool and package for generating Flutter projects with clean architecture, Firebase integration, and best practices.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.0.0 - 2024-09-03 #
Added #
- ๐ Initial release of PetraCore Flutter Frontend Starter
- ๐๏ธ Project initialization command (
petracore init) - ๐ Feature generation command (
petracore feature) - ๐ฅ Firebase integration support (Firestore, Analytics, Cloud Messaging)
- ๐งฉ BLoC pattern implementation with Hydrated BLoC
- ๐ฑ Responsive design with ScreenUtil
- ๐จ Comprehensive UI component library
- ๐ Secure storage and environment variable support
- ๐ฃ๏ธ Declarative navigation with GoRouter
- ๐ฆ Clean Architecture implementation
- ๐งช Testing infrastructure setup
- ๐ Comprehensive linting rules
- ๐ง VS Code configuration
- ๐ Detailed documentation and examples
Features #
- Project Generation: Complete Flutter project with clean architecture
- Feature Generation: Modular feature creation with data/presentation layers
- Firebase Setup: Pre-configured Firebase integration
- State Management: BLoC/Cubit with state persistence
- UI Components: Reusable buttons, inputs, scaffolds, loading states
- Network Layer: Dio HTTP client with logging and error handling
- Code Generation: Freezed models and JSON serialization
- Extensions: Useful string, context, and utility extensions
- Validation: Input validation and form handling patterns
Supported Platforms #
- โ iOS
- โ Android
- โ Web
- โ macOS
- โ Windows
- โ Linux
Dependencies #
- flutter_bloc ^8.1.3
- hydrated_bloc ^9.1.5
- go_router ^10.0.0
- flutter_screenutil ^5.4.0
- dio ^5.3.3
- firebase_core ^3.12.1
- cloud_firestore ^5.6.5
- And many more carefully selected packages
1.0.1 - 2024-09-16 #
Added #
- ๐จ AppBarV1 Component: Comprehensive app bar component with theming support
- Full integration with design tokens and theme system
- Multiple variants:
AppBarV1,AppBarV1Transparent,AppBarV1Secondary - Customizable properties: title, actions, colors, elevation, center title
- PreferredSizeWidget implementation for proper sizing
- ๐ TabBarV1 Component: Feature-rich tab bar component with theming
- Multiple variants:
TabBarV1,TabBarV1Scrollable,TabBarV1Minimal - Comprehensive customization: colors, text styles, indicators, padding
- Built-in hover and pressed state handling
- Scrollable support with proper physics
- Multiple variants:
- ๐๏ธ App Bars Directory: Added
app_bars/folder structure to project generation - ๐ง Project Generator Updates: Updated to include app bar components in generated projects
- ๐ฑ Sample Integration: Updated sample home screen to demonstrate AppBarV1 usage
- ๐จ Design System Integration: All components fully integrated with the app's design tokens
Improved #
- Enhanced project structure with proper app bar component organization
- Better component documentation and usage examples
- More consistent theming across all generated components
1.0.3 - 2024-09-22 #
Fixed #
- Build Runner Execution: Fixed duplicate build_runner commands during auth flow generation
- Resolved command execution format issues in FeatureGenerator and AuthFlowGenerator
- Commands now properly split into command and arguments arrays
- Eliminated redundant build_runner calls when generating auth features
- Template Syntax Errors: Fixed syntax error in verify_dto template
- Corrected
Json Map<String, dynamic>toJson()toMap<String, dynamic> toJson() - Resolved build_runner compilation errors in auth flow generation
- Corrected
Improved #
- Logging System: Complete overhaul of CLI logging for better readability and spacing
- Removed emoji-heavy logging in favor of clean, professional symbols
- Added proper visual hierarchy with box drawing characters and bullets
- Implemented consistent spacing and indentation throughout
- Added new logging methods:
spacer(),section(),item(),keyValue() - Replaced
mason_loggerdependency with lightweight custom implementation - Enhanced header formatting with bordered boxes
- Improved step indicators with arrow symbols (โ)
- Added success checkmarks (โ), warning symbols (โ ), and error marks (โ)
- Code Generation Logic: Enhanced conditional DTO generation in AuthFlowGenerator
request_otp_dto.dartnow properly generates when--otpflag is enabled- Improved feature flag handling for auth flow components
- Better separation of concerns between FeatureGenerator and AuthFlowGenerator
Enhanced #
- Test Suite: Expanded test coverage for auth flow generation
- Added comprehensive auth flow testing with both basic and complete options
- Enhanced test script with better command-line options and validation
- Added separate tests for OTP functionality and email verification
- Improved error reporting and test result validation
- CLI Output Formatting: Significantly improved user experience
- Consistent formatting across all commands (init, feature, auth)
- Better structured success messages and next steps
- Enhanced selected features display with bullet points
- Improved file generation progress reporting
- Professional, clean appearance without visual clutter
Technical Improvements #
- Command Architecture: Refined command execution patterns
- Better error handling in CommandUtils.runCommand
- Improved working directory management
- Enhanced verbose logging for debugging
- Project Configuration: Better project detection and configuration reading
- Improved ProjectConfigReader with fallback mechanisms
- Enhanced directory structure validation
- Code Quality: Removed deprecated dependencies and cleaned up imports
- Eliminated unused mason_logger dependency
- Streamlined logging implementation
- Better separation of concerns in generator classes
[Unreleased] #
Planned #
- ๐ฑ Additional UI components (date pickers, modals, etc.)
- ๐ง Custom theme generator
- ๐งช Enhanced testing templates
- ๐ CI/CD workflow templates
- ๐ฑ Platform-specific optimizations
- ๐จ Design system generator
- ๐ Plugin integration templates
- ๐ Analytics dashboard template
- ๐ Advanced authentication patterns
- ๐ Internationalization setup