I have used many principles for achieving goals for making this application more reliable and maintainable, which provides the progressive evolution of the project.
- Scheduling the tasks for:
- Today
- Tomorrow
- SomeDay
- Moving Tasks From Day To Day
- CURD Operations
- Enable The User To Share This Application With His Friends
- Make The User Rate This Application On Google Play
- Supporting English And Arabic Languages
- Domain-Driven Design Architecture.
- For Databse I have used SQL Lite by using the handy sqflite package.
- For Json Serializer, I have used package json_serializable.
- Using Singleton Design Pattern for creating a single point if access to a particular instance, By Using injectablePackage.
- For Application "Logic" Layer, I have Used flutter_bloc Package.
- For Tracking the states, I have Used bloc Package.
- For data-classes or pattern matching, I Have Used freezed Package.
- For Applying Functional Programming, I Have Used dartz Package.
- For Responsive UI, I have used Package sizer Package.
- For Sharing The Application, I have used Package share Package.
- For Google Play Inside The Application, I have used url_launcher Package.
The assets
directory houses images, fonts, and any other files you want to
include with your application.
The assets/images
directory contains resolution-aware
images.
I have followed the instructions of flutter documentation custom fonts.
This project generates localized messages based on arb files found in
the lib/src/localization
directory.
To support additional languages, please visit the tutorial on Internationalizing Flutter apps