Open Flutter Project: E-commerce App Local Database

Andrey Poteryahin
3 min readJan 18, 2020

--

How do you think should the database look like?

We are moving forward on implementation of the E-commerce App described in this articles. We already have UI/UX done. Our project team is spread all over the world in various time zones. That is why we need have exact same vision of the functionality we do.

We have a few variants to consider:

  1. Describe each feature on the UI/UX screens and add it to requirement document. Write a detailed backlog and break it down into smaller tasks.
  2. Make structure of the models we will be using that will explain the attributes of each entity that will be used.

The app design is common for E-commerce App and most of users are familiar with a process like Product Catalog -> Product Details -> Add to Cart -> Checkout. There is no need to describe it in details.

What we can do no is describe the structure of the local database used in the app. Let`s see what it looks like.

Products table

E-commerce App: Products

It is self-explanatory if you look at the screens on the screenshot below

E-commerce App Product and Product Reviews

Product Photos, Product Parameters and Parameter Variants

E-commerce App: Product Parameters and Images

Product parameter variant can affect the price (additionalPrice field).

Product Categories

E-commerce App: Product Categories

Product Reviews

E-commerce App: Product Reviews and Review Photos

Product and Category Hashtags

E-commerce App: Product and Category Hashtags

User and Shipping Addresses

E-commerce App: Users and Shipping Addresses

Cart

E-commerce App: Product Cart

Promo Codes

E-commerce App: Promotional Codes

Delivery Methods

E-commerce App: Delivery Methods

Order Details

E-commerce App: User Order
E-commerce App: Order Products and Parameters

As you can see the database structure provides enough details to build models and repositories for most of the features.

Whats next?

You can join our LinkedIn group “Open Flutter Project” to stay up to date on project updates.

If you have any questions or propositions feel free to get in touch with LinkedIn with me.

Regards,

Andrey

--

--