Get Started. It's Free
or sign up with your email address
Rocket clouds
WhirlCommerce v2.0 by Mind Map: WhirlCommerce v2.0

1. E-Commerce components

1.1. 1 User Management

1.1.1. 1.1 Control Panel users

1.1.1.1. 1.1.1 Master Admin

1.1.1.1.1. Master Admin can create the new site/users and having all access across all sites

1.1.1.1.2. The first master admin shall be created at the time of installation

1.1.1.2. 1.1.2 Store manager

1.1.1.2.1. Store manager shall be assigned to a particular store to manage orders/products/prices & promotions

1.1.1.2.2. Store manager account shall be created only by the any one of the master admin

1.1.1.3. 1.1.3 Store viewer

1.1.1.3.1. Store viewer shall have less access to the products and prices instead he/she might have the access to view the orders/products (View-only account)

1.1.1.3.2. Store viewer account shall be created/managed by either master admin or store manager

1.1.2. 1.2 Store front users

1.1.2.1. 1.2.1 Customer

1.1.2.1.1. Customer can only access the store front's his/her account

1.1.2.2. 1.2.3 Customer group

1.1.2.2.1. User may fall under the user group for the promotion & grouping purpose

1.2. 2 Store Management

1.2.1. The master admin can create the new site and can assign the new Site Manager for that

1.2.2. 2.1 Store configurations

1.2.2.1. 2.1.1 Site Name

1.2.2.2. 2.1.2 Site assets

1.2.2.2.1. Logo

1.2.2.2.2. Favicon

1.2.2.2.3. SEO Meta

1.2.2.3. 2.1.3 Store users

1.2.2.3.1. Store managers mentioned in section 1.1.2

1.2.2.3.2. Store viewer mentioned in section 1.1.3

1.2.2.4. 2.1.4 Currencies

1.2.2.4.1. Mentioned in section 2.2

1.2.2.5. 2.1.5 Payment methods

1.2.2.5.1. Mentioned in section 2.3

1.2.2.6. 2.1.6 Shipping methods

1.2.2.6.1. Mentioned in section 2.4

1.2.2.7. 2.1.7 Available Locations (PIN CODES)

1.2.2.7.1. Wildcard also applicable

1.2.2.8. 2.1.8 Site Root category

1.2.2.8.1. Referenced in section 3.1.1

1.2.3. 2.2 Currencies

1.2.3.1. Currency code

1.2.3.2. Conversion value

1.2.3.3. Currency name

1.2.3.4. Currency representation (REGX) (?)

1.2.4. 2.3 Payment methods

1.2.4.1. 2.3.1 Default

1.2.4.1.1. Cash on delivery

1.2.4.2. 2.3.2 Custom payment methods

1.2.4.2.1. Payment name

1.2.4.2.2. Other Integration configurations

1.2.5. 2.4 Shipping methods

1.2.5.1. 2.4.1 Default

1.2.5.1.1. Flat rate

1.2.5.1.2. Table rate

1.2.5.1.3. Free shipping

1.2.5.2. 2.4.2 Custom shipping methods

1.2.5.2.1. Shipping method name

1.2.5.2.2. Other integration configurations

1.3. 3 Catalog Management

1.3.1. 3.1 Categories

1.3.1.1. 3.1.1 Site root category

1.3.1.1.1. Category name

1.3.1.1.2. Permalink

1.3.1.1.3. SEO Meta

1.3.1.2. 3.1.2 Sub category

1.3.1.2.1. Category name

1.3.1.2.2. Permalink

1.3.1.2.3. Root category from either section 3.1.1 or 3.1.2

1.3.1.2.4. SEO Meta

1.3.2. 3.2 Products

1.3.2.1. 3.2.1 Product general info

1.3.2.1.1. Title

1.3.2.1.2. Product assets

1.3.2.1.3. Tax class

1.3.2.1.4. Short description

1.3.2.1.5. Long description

1.3.2.1.6. SEO Meta

1.3.2.1.7. Permalink

1.3.2.1.8. isActive

1.3.2.1.9. isSearchable

1.3.2.1.10. SKU reference

1.3.2.1.11. returnEnable

1.3.2.2. 3.2.2 Product Price

1.3.2.2.1. List Price

1.3.2.2.2. Sale Price

1.3.2.2.3. Bulk Price

1.3.2.2.4. Tier Price

1.3.2.2.5. Prices not based on the currency / it may be based on the base currency Need to discuss

1.3.2.3. 3.2.3 Product attributes

1.3.2.3.1. Default

1.3.2.3.2. Custom attributes

1.3.2.4. 3.2.4 Product categories

1.3.2.4.1. Product may fall under one or more sub categories

1.3.2.5. 3.2.5 Product type

1.3.2.5.1. 3.2.5.1 Simple product

1.3.2.5.2. 3.2.5.2 Configurable product

1.4. 4 Order Management

1.4.1. 4.1 Checkout Process

1.4.1.1. 4.1.1 Checkout Options

1.4.1.1.1. 4.1.1.1 Default

1.4.1.1.2. 4.1.1.2 Custom checkout options

1.4.2. 4.2 Order Work Flow

1.4.2.1. The status of the order is initially “Pending.” If Payment has not been processed, and the order can still be canceled before step 3.

1.4.2.2. Checkout Process

1.4.2.2.1. The checkout process begins when the user clicks the Checkout button on the shopping cart page.

1.4.2.3. Get Order Details

1.4.2.3.1. In this step, user should choose shipping method, payment method and address details.

1.4.2.4. Receive Payment

1.4.2.4.1. The status of the order changes to “Processing.” when payment is received or authorized.

1.4.2.5. Invoice Order

1.4.2.5.1. An order is typically invoiced after payment is received. After the invoice is generated and submitted, a copy is sent to the customer.

1.4.2.6. Ship Order

1.4.2.6.1. The shipment is submitted, and the packing slip and shipping label are printed. The customer receives notification, and the package is shipped.

1.4.3. 4.3 Order View

1.4.3.1. The Order workspace lists all current orders.

1.4.3.2. 4.3.1 Order Actions

1.4.3.2.1. Order Actions can be applied by Master Admin / Store Manager

1.4.3.2.2. Cancel

1.4.3.2.3. Hold

1.4.3.2.4. Unhold

1.4.3.2.5. Print Invoices

1.4.3.2.6. Custom action options

1.4.3.3. 4.3.2 Order Status

1.4.3.3.1. All orders have an order status that is associated with a stage in the order processing workflow.

1.4.3.3.2. Pending

1.4.3.3.3. Pending Payment

1.4.3.3.4. Processing

1.4.3.3.5. On Hold

1.4.3.3.6. Completed

1.4.3.3.7. Canceled

1.4.3.3.8. Processing Refund

1.4.3.3.9. Closed

1.4.3.3.10. Custom Order status

1.4.3.4. 4.3.3 Order Return Requests

1.4.3.4.1. A returned merchandise authorization (RMA) is granted to customers who request to return an item for replacement or refund. An unique RMA number is assigned to identify the returned product.

1.4.3.4.2. 4.3.3.1 Return Attributes

1.4.3.4.3. 4.3.3.2 Return Actions

2. Objective

2.1. Serverless Architecture

2.2. Customizable E-Commerce Framework

3. Technological Features

3.1. Model Communication

3.1.1. Amazon Athena

3.1.1.1. Interactive query service that makes it easy to analyze data in Amazon S3.

3.1.1.2. Usage: Only for querying Catalog

3.1.1.3. Athena Configuration

3.1.1.3.1. Open AWS Athena Console

3.1.1.3.2. Create new Database

3.1.1.3.3. Create an external table pointing to the Amazon S3 path where JSON (or) CSV is stored.

3.1.1.3.4. Each JSON in the path is considered a row

3.1.1.3.5. Start Querying using standard SQL

3.1.1.4. Athena Implementation

3.1.1.4.1. AWS SDK for Java

3.1.2. Spring Boot - JPA

3.1.2.1. Framework which supports object oriented data access with relational database.

3.1.2.2. Usage Exception: For querying Catalog

3.1.2.3. Spring JPA Configuration

3.1.2.3.1. The following steps are to be configured in a java project

3.1.2.3.2. Create entity model class with all field values of the model as objects

3.1.2.3.3. Create repository class for each model and extend it with CRUD/ JPA Repository

3.1.2.3.4. Create Service class by using base CRUD /JPA Operations

3.1.2.3.5. Create an executable jar file

3.1.2.4. Spring JPA Implementation

3.1.2.4.1. Import the configured jar as a maven dependency in required projects

3.1.2.4.2. Autowire the service classes required in a seperate Utility class.

3.1.2.4.3. Autowire the Utility class and get all access to services available.

3.1.2.5. Base Utility Package Structure

3.1.2.5.1. com

3.2. Handler Configuration

3.2.1. WCCore Java Structure

3.2.1.1. com

3.2.1.1.1. wc

3.2.1.2. resources

3.2.1.2.1. application.properties

3.3. Services Used

3.3.1. [Microservices] AWS Lambda functions - Java

3.3.2. [Data store] AWS RDS (MySQL)

3.3.3. [Data Store & Website Hosting] AWS S3 Service

3.3.4. [Image Caching] AWS Cloud Front Service

3.3.5. [Data Access] AWS Athena Service

3.3.6. [Microservice-API] AWS API Gateway Service