This is the template for the flutter's Ignitr Framework, it uses GetX stack.
Ignitr is a simple yet powerful flutter mini framework, designed to simplify the development of Flutter applications. It provides a set of tools and utilities to streamline the process of building Flutter apps, making it easier for developers to create high-quality, feature-rich applications. Ignitr is designed to be flexible and customizable, allowing developers to tailor it to their specific needs. It is highly inpired by the other MVC frameworks built with other technologies like Laravel and CodeIgniter.
dart pub global activate ignitr_cliAbove command will install the ignitr cli globally in your system, now you can use the built in Ignitr commands to get started with your project development.
Checkout the Ignitr CLI on: GitHub, pub.dev
ignitr create <project_name>- <project_name>: This will be the project name you want to generate, it will scaffold a fresh project with the name provided.
NOTE: Sometimes ignitr command doesn't work after activating it globally specially when using
Git Bashfor windows, To solve this issue use command asignitr.bat <commands>, alternatively you can just add alias to your~/.bashrcfile
Here are some fantastic features you’ll get by default when scaffolding your project with this starter template:
- MVC Pattern: The project follows the
MVCpattern, which separates logic, UI, and models for better manageability. - Modular Structure: The modular structure allows developers to reuse modules across different projects, offering greater flexibility and scalability.
- Module Generator: A simple module generator tool has been added, enabling you to generate any module with a single command.
- Persistent/Reactive Stores: It has a layer called Stores, it is a reactive store you can use for reactive data of your application, it also comes with persistent feature so even if your app is closed the stored data will remain.
Ignitr comes with the powerfull CLI tool to help you generate the modules.
ignitr make:module <module_name>: To generate a new module you can use this command, make sure to use thesingularname of the module.ignitr make:page <page_name> --on=<module_name>: This command will generate a new page and associated controller inside the specified module.
ignitr make:module blogNOTE: Make sure to use the module names as singular name
This will generate all the files required for a Module
📂 blog
├── 📂 controllers
│ └── 📄 blog_controller.dart
├── 📂 routes
│ ├── 📄 blog_router.dart
├── 📂 networks
│ ├── 📄 api_blog_client.dart
│ └── 📄 blog_client.dart
├── 📂 views
│ └── 📄 blog_page.dart
└── 📄 blog_module.dartignitr make:page comment --on=blogThis will generate the new view/page (comment_page.dart) along with it's controller (comment_controller.dart) file inside the blog Module.
📂 blog
├── 📂 controllers
│ ├── 📄 blog_controller.dart
│ └── 📄 comment_controller.dart
├── 📂 views
│ └── 📄 blog_page.dart
│ └── 📄 comment_page.dart- Stack Selection: You can select the stack you want to use, such as GetX, Bloc or any other stack.
- Tailwind: The project will include Tailwind CSS inspired styling library for styling, providing a modern, responsive and unique look and feel to your application.
Please refer to the Ignitr Documentation for more detailed information and examples on how to use Ignitr.