Shopping Sample App
Frontend designs
- As a file in this repository
- Online at Excalidraw
Flutter application
- The main flutter code resides at
/flutter
.. - App has 3 flavors for android, and iOS: production, staging, and development.
- yarn can be used with
flutter/package.json
for managing the project, for ex.,yarn dev
runs the development flavor of the app in debug mode. - Riverpod is used in the application for DI, and state management.
- Retrofit is used for generating HTTP REST Api client services code.
Structure
.
├── gen
│ └── assets.gen.dart
├── l10n
│ ├── arb
│ │ ├── app_ar.arb
│ │ ├── app_en.arb
│ │ └── app_hi.arb
│ └── l10n.dart
├── main.dart
├── main_devel.dart
├── main_stag.dart
└── src
├── commons
│ ├── dependencies.dart
│ ├── settings.dart
│ └── theme.dart
├── config
│ ├── bootstrap.dart
│ ├── build_options.dart
│ ├── firebase
│ │ ├── firebase_options.dart
│ │ ├── firebase_options_dev.dart
│ │ └── firebase_options_stg.dart
│ └── under_construction.dart
├── data
├── di
├── modules
├── navigation
│ └── router.dart
├── repo
├── services
├── storage
├── ui
│ ├── components
│ ├── main
│ │ ├── app.dart
│ │ └── launch.dart
│ └── screens
│ ├── browsing.dart
│ ├── checkout.dart
│ ├── home.dart
│ └── my_stuff.dart
└── utils
gen/
Contains generated code for assets
l10n/
Translation related arb files, and localization controller
- main files
The main entry point files for development, staging & production.
common
Contains app dependencies, settings, themes, etc
config
App configurations for firebase, startup, etc
data
Collection of data classes for json serializable, forms, plain models, etc
di
&modules
Commonly used providers, notifiers, di modules, controllers, etc
navigation
Contains routes, and router configurations
repo
&services
Contains services, and repositories for http, local storage, etc.
storage
Code related to local data persistence, migrations, database, etc.
ui
Code related to the UI resides here.
utils
Contains commonly used utility classes, and functions.