cleanx 0.4.0
cleanx: ^0.4.0 copied to clipboard
A starting point for a Flutter app following clean architecture and SOLID design.
Clean #
An opinionated list of modules and components for implementing Clean Architecture
.
Now before, you shake your head, saying something like - "an architecture can be a package",
know that it is the same reason why this not Clean Architecture. It is a suite of components
that help you to implement one of the many variations of textbook Clean Architecture.
These modules are here mainly for inspiration, and to simplify the life for those who know and would like to implement
aspects of clean architecture in their project. If you decide to use this package
make sure you understand what Clean Architecture
is and use your judgement.
These modules will not turn your codebase into clean code. In fact, it may have the opposite effect. If you couple your code to this package, you are essentially being bound by decisions made by the authors. This will work well for when things work, you have no need to deviate from the path that this package draws.
When you see an even greater need to do all things cleanly, simply, and with 100% control, we suggest not using this package at all.
Features #
-
Common modules and components
- A clean model interface
- Initial app models
- App Model interface
- App Model interface
- Response interface
- Error interface
- Success interface
- Request interface
- Interactor interfaces
- Input interface
- Output interface
- Interactor Mixins
- Response builder mixin
-
An App modules and component #
Getting started #
Add this package to dependencies from pub.dev, and begin using it. Check the Api, for each component to see an example of how to use it.
Usage #
Additional general example will be added soon. For now check the Api.
Additional information #
Notice. #
The name of this package alone bears a huge promise, and the aim listed above doesn't help but fuel the illusion of a well oiled package that solves all that ails you.
Fact is, this package is not an overnight effort, and what is common to the contributor of this package may not be common to you. Expect it to be opinionated, and give it time to grow. Hopefully we can grow together.