Food Delivery app is Mobile Application Built Using flutter sdk To Provide online Food Ordering to Resturants also help users to order there favorites foods online
Domain Layer is the core of the application it contains business Logics and interfaces for data layer and presentation layer following the dependency rule.
domain Layer has 4 main components
- Entities:
critical business logic data structure such as meal,address,order,meal category - Failures:
- Types of failures
- Repositories: interfaces of repositories
- Validators:
Form fields validators functions returns valitation failure types so that the presentation layer decide the way to present it to user for example show the failure messege in arabic/english language
Data Layer is Responsable to provide and save data from data sources Data Layer Consist of 3 main components
- Repositories
the implementation of the repositories interfaces
- Models
Data models extends entities with functions help mapping data coming from data sources to entities
- Mappers
another mapping solutaion to help map data to and from entities
Presentation Layer Consist of 7 main components
- Bloc: the presenter and statemangment solution
- Helpers: extenstions to help the ui and remove complexity from ui for example translating numbers to arabic
- Inputs: Form fields Input objects
- Pages: App Pages
- Routes: App Routes
- Styles: App Themes dark/light, App colors
- Widgets: Common widgets