- Customers living in one country order products to be delivered to customers living in another destination country.
- B2P portal for resellers. Cart needs to support a reseller living in one country ordering a product for a customer living in another country and send it to a customer living in a third country.
- Enhanced affiliates management, creating various kinds of affiliate links and pictures, providing onscreen preview and copy-paste code to show it.
- Every supported country has to have a different price and different options and different prices per option.
- Every country comes with their own holidays. Every holiday per every country follows its own rules. Some countries can't allow orders placed past a certain hour. Other countries have "no order / no sale" days with or without certain hours to take into account. Every date and time has to function with respect to the guy buying the product time zone, not the server time.
- Need to add SEO text on categories and products (actually below them). Text so far has been implemented in Italian, next will be English.
- SEO has not only to be enabled, but SEO paths need to be in each supported language and products SEO names too.
- Be multi-language with in a Google supported way. In our case, English has no URL change, but all the other languages have to appear like: domain.com/de/category_in_German/product_in_German, domain.com/fr/category_in_French/product_in_French and so on. This can cause some serious issues with database performance.
- Future support for one custom page per each large town in Europe and America. This completely destroys sitemap generation and website crawling speed would take several hours per each crawling bot. Therefore a complete rewrite of sitemap generation has been done, splitting them into "thematic" sitemaps included in an index.
- A lot more features.
- Schema.org micro-data, OpenGraph support, some RDF support (not completed so far).
We had to implement a lot of performance features. From sub-page caching to pre-calculating a LOT of things and storing them on memcached. There's web server caching and much more. There's partial SQL caching... Pictures were partly optimized (work in progress) and put in few sprites. From 110 http requests per page down to 27 (work in progress).
In the beginning, due to the many date checks and pricing options (I only listed some, there are more) each page took up to 50 seconds to load. Google PageSpeed and YSlow score were in the 50-60.
Here's the current score:

and we still have room for improvement.
OpenCart can be awesome.