An e-commerce project which is used to sell gold for a well known company in Kuwait
(Dar Alsabeak). It is divided into two domains, API, Knet project and some helpers consoles (each one is used for doing certain business in an interval (like Sql server jobs)):
1- Dar Alsabeak CMS Domain
2- Dar Alsabeak For Customers Domain
3- Dar Alsabeak API
4- Knet project
5- Product Price Console
6- Product Stock Console
7- Robo Console
8- Notifications Console
9- Audit Migration Console
Dar Alsabeak CMS:
It acts as the control panel for Dar Alsabeak For Customers , where admin users can do their work so they can manage what Dar Alsabeak customers do.
Dar Alsabeak For Customers Domain:
It’s an ecommerce website where customers can trade gold and other metals with Dar Alsabeak.
Dar Alsabeak API:
An Asp.net core API which serves our both domains. Besides, it contains our Knet projects and other consoles.
Knet project:
Providing the knet payment gateway to customers, so they can pay their orders values via it.
Product Price Console:
Running an interval where product price will be updated periodically. Prices will be stored in an azure cache to reduce database hits when product price is requested by our domains.
Product Stock Console:
Running an interval where product quantity will be restored from canceled and timeout orders.
Robo Console:
Running an interval which automatically will order customer orders if they declared
robos/auto order criterias and these criterias were met.
Notifications Console:
Running an interval which will send notifications to their receivers.
Audit Migration Console:
Running an interval which will move our audit trails big json objects from our database to azure blob json files.
Notes:
We enhanced the SQL database instance CPU usage from ~98% to ~40% during the rush time
We downsized the database size from ~27 GB to ~3GB
We use azure blob storage(cloud)