In most cases for online stores development, our team uses the CMS Opencart 2.0. This article will show how we optimize and improve the work with the system from one project to another.
Open up to Opencart.
Opencart - is one of the most popular CMS, focused on e-commerce. It was erstablished by Daniel Kerr in 2012. It is free software. Contains a large community of programmers for this CMS, you can find a lot of available templates for online stores and a lot of plug-ins and add-ons.
We can characterize the utility of Opencart in Mind Team company by answering two questions: why and how?
Why do we use Opencart?
- MVC Model
The main advantage of Opencart for us - it is almost the perfect architecture of MVC. This allows to produce code that is more structured, transparent and also use our domestic programming approaches and design universally for any functional. Beginning programmers are quickly adapting to the Opencart architecture and can almost immediately be included to the development process.
- A well-designed database scheme
Another good advantage of this great CMS is a well-designed database schema.
- Caching and image resize
The set of classes that simplify and optimize the work of (classes for interacting with the database, generating links, images, pagination, http-requests and http-answers sessions, etc.)
- Easily integrated into different web server.
It is a big pleasure for us to create online shop on Opencart - a pleasure as this CMS contains a lot of advantages. In his choice, we do not claim to be objective, and do not claim that it is the best CMS for e-commerce which can be found. Often, the choice of the base CMS for the specific purpose of a particular company - is subjective, and one or another system come more for historical reasons than for the comparative analysis of a variety of options. We also have done this choice based on many historical factors, but it is 100% conscious.
How do we use Opencart?
We have quite a lot of experience in creating online stores with different specificity and complexity, as well as we know the process of study and practical application of a variety of related technologies, hence we have established our own approach to the use of the CMS.
It is our mainfundamental principle: "Opencart - is architectural MVC framework not a tool to instal ready templates." That means that we do not create online stores using the ready-made templates and do not realize the functional requirements with the help of ready-made plug-ins and add-ons. For us, this CMS - is primarily a foundation to build a unique e-commerce project.
The basic principles of Opencart utility in Mind Team company:
- database tables transfer from MyISAM to InnoDB
- database optimization - removal of not used in the project tables, installation of connections, keys and indexes
- optimization of database queries
- сontent оptimization / catalog (removal of all unnecessary controllers, models and templates from the catalog. There remain only those files that are required for a specific project, add new files. Cleaning unused code in all standard controllers, models and templates in the catalog, which were not removed, all functions methods and classes are documented using PHPDoc)
- the imposition of media files (js, css, fonts) to a separate folder in the project
- minimizing and connection of js and css files using Grunt
- seo-optimization of project
- use the APC for caching query results
- optimization project images using Grunt, Optipng, Jpegtran
- launcher task module (we have developed this module to formalize and bring to a common structure of tasks, where each task - is a separate class, is used to write data migration tasks, forming sitemap.xml, yml-catalogs to e-commerce markets)
- delivery service module (integration with the API to use delivery service (Nova Poshta) geodata of cities and warehouses)
- optimized algorithm of interaction with the parameters of the goods
- module for automatically generating landing pages for filters based on the values of the parameters of the goods
We still have a lot of unrealized ideas within Opencart. Perhaps for your online store - we will find a use for all descibed above.
Thank you for attention,