Mosbatesabz is an online pharmacy. At first, this shop was on another online platform. Due to the inappropriate architecture of primary platform database and many other problems, they decided to migrate to the new platform.
The main problem was that Mosbatesabz had their previous store on a specially developed platform and the website was inextensible and had serious security defects. The old platform database architecture had an unnormalized form and it caused data redundancy and slow queries responses on the database. This problem was one of the major reasons of repetitive down times.
In addition to the above-mentioned topics, here are some challenges that the developer’s team faced with:
- A huge number of data that must have been transferred (about 4000 products, 5000 orders, and 150000 product attributes)
- The lack of required data that the nopCommerce needs for products or orders
- SEO-unfriendly URLs
- Images that stored in file system format must have been transformed to binary data to store in the nopCommerce database
- Unpluggable architecture which didn't allow to add additional functionalities and components dynamically (the client required to add some functionalities to the platform, like new shipping method or phone authentication and that was quite impossible)
- Issues with orders or products reporting (because of the bad database schema, many join queries must have been used to make a report from orders, and in some cases, such huge queries were getting the server down).
First of all, a mapping service has been implemented, moreover, there was developed a method for every entity in the nopCommerce to collect and prepare data from the old database (in some cases from multiple tables) and map them to the nopCommerce entity.
In this scenario, one of the tasks was to migrate those data which was necessary for other entities first, like products for orders. Also, every image was downloaded by its URL and then data was converted to a binary format to store in the database.
The customization requirements consisted of two major functionalities. First, the ability to register and login with phone numbers. Second, the necessity to allow customers to choose the date and time of their shipment delivering, along with the shipping method. For those requirements, "Phone number authentication" and "Delivery scheduling" plugins were successfully implemented. You can check out these plugins on the nopCommerce marketplace.
To solve the problem with old SEO-unfriendly URLs, there were written some regex patterns to permanently redirect them to new nopCommerce SEO-friendly URLs. These codes were written in the Application_BeginRequest method, so any request which the server receives could have been served.
After the data migration process was ended, the code was run on some testing data to evaluate it. Finally, when the code was evaluated, the old database information was frozen and all the system was completely migrated to nopCommerce in July 2018.
The huge work was successfully completed. It allowed to achieve a significant decrease in response time and a notable reduction in resource consumption (8 GB Ram usage instead of 256 GB - an impressive result!), which in its turn helped to reduce server resources expenses.
Migration to the nopCommerce led to the 2 times growth in average orders placed in a month. Also, the average number of registered customers in a month grew up by 77%. You can see the difference in a number of orders and new customers before and after launching a new website on screenshots down below. Both charts show the period from January 2018 till January 2019. The new nopCommerce-based website was launched in July 2018. The decreasing after the November 2018 in sales was because of US sanctions and the high inflation.
Moreover, security of the system was totally improved (no successful attack after migration what supports this claim). To meet the specific requirements of the client, there were developed some additional plugins.
As it can be expected, all the improvements led to a significant increase in Alexa traffic rank.
Resaneh Laboratory is one of Irsapardaz company's subsidiary that specifically develops nopCommerce-based projects for B2B, B2C businesses and startups projects. Integrating nopCommerce with different software systems and producing several successful products for Iranian startups and enterprise and small businesses is one of our honors.