:: DOCUMENTATION APNA ORDER ::

 Software details :

1) Android Studio
Version: 4.0.1
2) Flutter
2.7.0

 Coding details :

1) Pattern :
mobx
flutter_modular

mobx command:
– flutter pub get
– flutter packages pub run build_runner build –delete-conflicting-outputs
– flutter packages pub run build_runner watch
– flutter packages pub run build_runner clean && flutter packages pub run build_runner build –delete-conflicting-outputs

 Change app icon :

pubspec.yaml open.

flutter_icons:
android: “launcher_icon”
ios: true
image_path: “assets/images/app_icon.png”

Terminal command:
flutter pub get
flutter pub run flutter_launcher_icons:main

Functionality :

1) Change language and change theme.
2) Order history search.
3) Order choice you (for example you can order pizza that options are available small, large etc.)
4) Order cancel.
5) Order history search.
6) Favourite.
7) Order edit.

 Which software open this application :

1) Android studio
2) VS Code

Windows :
• STEP 1:
Download flutter SDK. https://flutter.dev/docs/get-started/install/windows
• STEP 2:
Android studio: File -> Settings -> Plugins -> install plugin flutter
• STEP 3:
Open android studio: Open an existing Android Studio project click.

 Package detail :
Apna order application 6 packages available in lib folder.

 You can change color and style that file name utils package inside color_blue.dart, color_orange.dart and style.dart.

 Current package name: com.jdkgroup.apnaorder
1) model
2) module
Every screen create own module. That are contains store file, bind and routes.
3) shared
o api call, local storage that use share all screen data.
4) store
o mobx and .g dart file
5) ui
o page: UI
o clipper: for example ProfileClipper.
o widget: common widget.
6) utils
o utils contain constant, routes, font, color, api, image in assets set the path etc.
7) component
o component contain the animated related files.
8) AppModule(app_module.dart)
o That is create single instance and define the module and screen.

o That is contains:
bind: Object initialized.

URL_BASE: set the url for api calling.
Bind((i) =>Dio(BaseOptions(baseUrl: URL_BASE))),

routers: root define.

bootstrap: Theme, Font, First screen open define.

Listget binds => [
Bind((i) =>Repository(i.get())),
Bind((i) =>LocalStorageRepository()),
Bind((i) =>Dio(BaseOptions(baseUrl: URL_BASE))),
Bind((i) =>LocalStore()),
Bind((i) =>ThemeController()),
];

Listget routers => [
ModularRouter(firstLaunchRoute, child: (_, args) =>SplashPage()),
ModularRouter(loginRoute, module: LoginModule()),
ModularRouter(signUpRoute, module: SignUpModule()),
ModularRouter(forgotPasswordRoute, module: ForgotPasswordModule()),
ModularRouter(changePasswordRoute, module: ChangePasswordModule()),
ModularRouter(homeRoute, module: HomeModule()),
ModularRouter(choiceRoute, module: ChoiceModule()),
ModularRouter(categoryRoute, module: CategoryModule()),
ModularRouter(offerRoute, module: OfferModule()),
ModularRouter(orderRoute, module: OrderModule()),
ModularRouter(historyRoute, module: HistoryModule()),
ModularRouter(profileEditRoute, module: ProfileEditModule()),
ModularRouter(contactUsRoute, child: (_, args) =>ContactPage()),
ModularRouter(profileRoute, child: (_, args) =>ProfilePage()),
ModularRouter(orderDetailRoute, module: OrderDetailModule()),
ModularRouter(orderPaymentRoute, module: OrderDeliveryAddressModule()),
ModularRouter(favouriteRoute, module: FavouriteModule()),
ModularRouter(historyDetailRoute, module: HistoryDetailModule()),
ModularRouter(settingRoute, module: SettingModule()),
ModularRouter(promoCodeRoute, module: PromoCodeModule())
];

 Screen :
1) Splash Screen
2) Login Screen
3) Forgot password Screen
4) Sign up Screen
5) Menu Screen
6) Category Screen
7) Your Choice Screen
8) Order edit Screen
9) Order Screen
10) Favourite Screen
11) Payment Screen
12) Order history Screen
13) Order detail
14) Profile Screen
15) Change password Screen
16) Contact us Screen
17) Setting
18) Drawer Screen
19) Logout

 Screen description :

1) Splash Screen(splash_page.dart)
Navigation: Login, Home
Logo define

_checkLogin() function redirect screen login or home.

boolisLogin = (await prefs.get(isLoginPref) ?? false);
isLogin true then redirect home page otherwise login page.

2) Login Screen(login_page.dart)

Validation, Login API call
Navigation: Sign Up, Forgot password and Home

3) Forgot password Screen(forgot_password_page.dart)
Validation, Forgot password API call
Navigation: Login

4) Sign up Screen(sign_up_page.dart)
Validation, Sign up API call
Navigation: Home

5) Menu Screen(menu_page.dart)
Menu name
Navigation: Category Screen

6) Category Screen(category_page.dart)
Category list, favourite, offer view.
Navigation: Choice Screen

7) Your Choice Screen(choice_page.dart)
Select your choice different option available (oil, ghee, small, medium etc).
You can select the option of your choice.

Navigation: Choice Screen

Functionality:
1) Dynamic option
2) Category related offer and your order display the bottom list.
3) Your order you can update.

8) Order edit Screen(order_detai_pagel.dart.dart)

Order update then changes 2 two screen.
1) Choice screen bottom order list
2) Home screen.

9) Order Screen(order_page.dart.dart)
Your order.

Navigation: Payment Screen.

Functionality:
1) Order add and remove.

10) Promo Code Screen(promo_code_page.dart.dart)

11) Favourite Screen(favourite_pagel.dart)

12) Payment Screen(order_payment_page.dart)
Navigation: Promo code Screen

Your name, email, mobile and address that field fill up.

13) Order history Screen(history_page.dart)
Your order history display.

Navigation: Order Detail Screen

Functionality:
1) Search using order date.
2) CANCEL order.

14) Order Detail Screen(order_detail_page.dart)

15) Profile Screen(profile_page.dart)
Navigation: Profile edit Screen

16) Profile Edit(profile_edit_page.dart)

17) Change password Screen(change_password_page.dart)

18) Contact us Screen(contact_page.dart)

19) Drawer Screen(common_drawer.dart)

20) Logout
Navigation: Login Screen

Download Download 2 Download 3 DEMO