Skip to content

mostafaemara/food_delivery

Repository files navigation

Food Delivery App

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

Application Architecture

alt text

App Has three main layers

Domain Layer

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

alt text

Data Layer

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

alt text

Presentation Layer

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

alt text

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages