๐Ÿš€ OptiCore โ€“ The Ultimate Flutter Micro-Framework

A lightweight BLoC-based micro-framework designed to accelerate Flutter app development.
Optimized state management ยท Built-in API handling ยท Reusable utilities ยท Reactive state

Pub Package Build Status Unit Test Creator License

Buy Me A Coffee


โšก Supercharge Development with OptiKit CLI

Take your workflow to the next level with OptiKit CLIโ€”a command-line tool designed to automate project management and enhance productivity.

๐Ÿ”น Effortlessly manage versions & builds
๐Ÿ”น Streamline development tasks with powerful commands
๐Ÿ”น Seamless integration with OptiCore

๐Ÿ“ฆ OptiKit NPM | ๐Ÿ”— GitHub Repo


๐Ÿ”ฅ Why Choose OptiCore?

OptiCore simplifies state management and reduces boilerplate by providing built-in utilities and a structured architecture for scalable Flutter applications.

Feature Description
โœ… BLoC-Powered Built on top of Flutter BLoC for seamless state management
โœ… Reactive State Lightweight ReactiveNotifier & AsyncReactiveNotifier for simple state
โœ… Optimized API Handling Integrated utilities for network requests and error handling
โœ… Reusable Components Prebuilt UI elements to reduce development time
โœ… Performance-Focused Minimal overhead and efficient memory management
โœ… 70+ Extensions Data manipulation, UI customization, and enhanced workflows
โœ… Extensible & Flexible Works with both small and large-scale projects

๐Ÿ“– Documentation

Get started with OptiCore using our comprehensive documentation:

Architecture & Concepts

Document Description
๐Ÿ— Architecture Complete architectural overview, philosophy, and design principles
๐Ÿ“Œ Core BLoC integration, state handling, and essential utilities
โš™๏ธ Functionality Built-in utilities, helpers, and system-wide enhancements
๐Ÿ›  Reusability Reusable widgets, components, and UI utilities
๐Ÿ›ก Infrastructure Foundational configurations, API handling, and global settings
โœจ Extensions Data manipulation, UI customization, and enhanced workflows

Implementation Patterns

Pattern Description
๐Ÿงฉ BLoC Patterns Initialization, skeleton data, loading flags, fetch handlers
๐Ÿ“Š State Patterns Initial states, success/fail pairs, loading/loaded pairs
โšก Event Patterns Event definitions, transformers, naming conventions
๐Ÿญ Factory Patterns State factories, multi-model, transformations
๐Ÿ“ฑ Screen Patterns Screen setup, configuration, lifecycle hooks
๐Ÿ—„ Repository Patterns Simple fetch, query params, mutations
๐Ÿ“ฆ Model Patterns JSON parsing, serialization, copyWith
โš›๏ธ Reactive Patterns ReactiveNotifier, AsyncReactiveNotifier, Reactive widgets

โ— Report Issues & Contribute

๐Ÿ” Found a bug? Have a feature request?
Report issues on the GitHub Issues page. Your feedback helps improve OptiCore for everyone!

When reporting an issue, please provide:

  • A clear description of the issue or feature request.
  • Steps to reproduce (if applicable).
  • The OptiCore version in use.
  • Relevant code snippets or screenshots.

We also welcome contributions! If youโ€™d like to enhance OptiCore, check our contribution guidelines.


๐Ÿ”„ Changelog & Updates

๐Ÿ“œ Changelog โ€“ View all releases, new features, improvements, and bug fixes. ๐Ÿ“œ Beta History โ€“ View historical updates and changes during beta releases.


๐Ÿ‘ค Created By

Built with โค๏ธ by Mahmoud El Shenawy

LinkedIn GitHub Medium


๐Ÿ“œ License

License: MIT

OptiCore is open-source software released under the MIT License.

Free to use, modify, and distribute โ€” in personal and commercial projects.

Libraries

opticore