codbex / codbex-electra

e-Commerce Backoffice Management Application
https://codbex.com
Eclipse Public License 2.0
0 stars 0 forks source link
application

codbex-electra

e-Commerce Backoffice Management

Demo instance

You can try the Electra here.
It is configured to use the following OpenCart demo instances:

Details about the configured OpenCart instances could be found here.

You can create a new shop user in each store, make some orders, check and modify them in Electra. In addition, you can print an Econt shipping labels for the orders.

Build and Run

Prerequisites

The following Eclipse Dirigible configurations should be available:

Name Description Example value
DIRIGIBLE_HOME_URL Electra home URL /services/web/codbex-electra/ui/index.html
ELECTRA_ECONT_DELIVERY_URL URL of the deliver with econt https://delivery.econt.com

Here is described how you can provide Dirigible configurations.

Steps

To deploy and run the Electra, you have to follow the steps described bellow.

Note: you can use the configured OpenCart dev systems which are described here

Architecture

Design overview

design-overview

DB Model

model

Data synchronization

Inbound synchronization - data replication from OpenCart to Electra

Since OpenCart UI is used by the shop customers to purchase goods and create accounts, we have to replicate data from OpenCart to Electra DB. This is done by inbound synchronizers implemented as *.camel files which are located here.

In the following table you can find more details about the tables mapping.

OpenCart Table Electra Table Synch frequency cron
oc_customer CODBEX_CUSTOMER every minute 10 * * ? * *
oc_order CODBEX_SALESORDERPAYMENT every minute 20 * * ? * *
oc_order CODBEX_SALESORDERSHIPPING every minute 20 * * ? * *
oc_order CODBEX_SALESORDER every minute 20 * * ? * *
oc_order_product CODBEX_SALESORDERITEM every minute 20 * * ? * *

To check the example execution times of the cron, you can use this site.

OpenCart DB model could be found here.

Outbound synchronization - data replication from Electra to OpenCart

All actions over Electra entities are replicated to the OpenCart DB. This is done by outbound synchronizers implemented as *.camel files which are located here.

In the following table you can find more details about the tables mapping.

Electra Table OpenCart Table Synch frequency cron
CODBEX_ATTRIBUTETRANSLATION oc_attribute_description every minute 20 * * ? * *
CODBEX_ATTRIBUTEGROUPTRANSLATION oc_attribute_group_description every minute 10 * * ? * *
CODBEX_ATTRIBUTEGROUP oc_attribute_group every minute 10 * * ? * *
CODBEX_ATTRIBUTE oc_attribute every minute 20 * * ? * *
CODBEX_CATEGORYTRANSLATION oc_category_description every minute 10 * * ? * *
n/a oc_category_path every minute 10 * * ? * *
n/a oc_category_to_store every minute 10 * * ? * *
CODBEX_CATEGORY oc_category every minute 10 * * ? * *
CODBEX_COUNTRY oc_country every 15 minutes 0 0/15 * ? * *
CODBEX_CURRENCY oc_currency every 15 minutes 0 0/15 * ? * *
CODBEX_LANGUAGE oc_language every 15 minutes 0 0/15 * ? * *
CODBEX_MANUFACTURER oc_manufacturer every minute 0 * * ? * *
CODBEX_SALESORDERITEM oc_order_product every minute 18 * * ? * *
CODBEX_ORDERSTATUS oc_order_status every 15 minutes 0 1/15 * ? * *
CODBEX_SALESORDER oc_order every minute 18 * * ? * *
CODBEX_STOCKSTATUS oc_stock_status every 15 minutes 0 1/15 * ? * *
CODBEX_PRODUCTATTRIBUTE oc_product_attribute every minute 40 * * ? * *
CODBEX_PRODUCTDESCRIPTION oc_product_description every minute 20 * * ? * *
CODBEX_PRODUCTTOCATEGORY oc_product_to_category every minute 20 * * ? * *
n/a oc_product_to_store every minute 20 * * ? * *
CODBEX_PRODUCT oc_product every minute 20 * * ? * *
n/a oc_setting every minute 10 * * ? * *
CODBEX_ZONE oc_zone every 15 minutes 0 1/15 * ? * *
CODBEX_STORECONFIGURATION oc_setting every 15 minutes 0 0/15 * ? * *

To check the example execution times of the cron, you can use this site.

OpenCart tables dependencies

Some of the tables require another tables entries to be replicated first because they have reference to them. This may lead to exceptions during the outbound synchronization when the replication is started for the first time. For example, if the zone out sync is running (which depends on countries) but the countries are not replicated yet, you will see exceptions in the logs. This will automatically recover, once the countries out sync is completed.

In the following table, you can find the dependencies between entities.

Table Depends on Sync phase
oc_language nothing 1
oc_currency nothing 1
oc_country nothing 1
oc_manufacturer nothing 1
oc_customer oc_language 2
oc_zone oc_country 2
oc_order_status oc_language 2
oc_stock_status oc_language 2
oc_category nothing 2
oc_category_description oc_language, oc_category 2
oc_attribute_group nothing 2
oc_attribute_group_description oc_language, oc_attribute_group 2
oc_order oc_customer, oc_country, oc_zone, oc_order_status, oc_language, oc_currency 3
oc_product oc_manufacturer, oc_category, oc_stock_status 3
oc_product_description oc_language, oc_product 3
oc_attribute oc_attribute_group 3
oc_attribute_description oc_language, oc_attribute 3
oc_product_attribute oc_language, oc_product, oc_attribute 4
oc_order_product oc_order, oc_product 4

User interface

Dashboard

dashboard

Sales Orders

Items

salesorder-items

Shipping

salesorder-shipping

Payment

salesorder-payment

Comments

You can add comments to the selected order. salesorder-comments

Print econt shipping label

You can print an econt shipping label using the Print Shipping Label button.

salesorder-econt-label

Customers

customers

Products

Manufacturers

manufacturers

Attributes

Attribute groups

attribute-groups

Attributes

attributes

Products

Categories

product-categories

Products

products


Stores

stores


Access

Groups

groups

Permissions

permissions

Group permissions

group-permissions

Employees

employees

Group assignments

group-employees

Settings

Localisation

Languages

languages

Currencies

currencies

Stock statuses

stock-statuses

Order statuses

order-statuses

Countries

countries

Zones

zones

Configurations

configurations