Shopping Sample App

Frontend designs

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
  1. gen/

Contains generated code for assets

  1. l10n/

Translation related arb files, and localization controller

  1. main files

The main entry point files for development, staging & production.

  1. common

Contains app dependencies, settings, themes, etc

  1. config

App configurations for firebase, startup, etc

  1. data

Collection of data classes for json serializable, forms, plain models, etc

  1. di & modules

Commonly used providers, notifiers, di modules, controllers, etc

  1. navigation

Contains routes, and router configurations

  1. repo & services

Contains services, and repositories for http, local storage, etc.

  1. storage

Code related to local data persistence, migrations, database, etc.

  1. ui

Code related to the UI resides here.

  1. utils

Contains commonly used utility classes, and functions.

Screenshots

Home page

Home page where some items are in cart

Checkout page

Checkout page with items that have multiple quantities

GitHub

View Github