STAR Commerce release plans

Mladen LotarDevelopment, Magento 2, Open source, Star commerceLeave a Comment

roughroadforstarcommerce

A bit of non-listed information

After research and planning for development, we’ve came up with technology stack and roadmap for development. We knew the system won’t be simple, so it took some time to actually make an actionable plan, but it’s finally here.

Architecture of the entire system will look like shown in following sketch:

Star Commerce Architecture

As far as the technology stack goes, PHP is really native to us, so we’ll use Laravel as solid base, React.js for templating, SASS for CSS solution and of course, JS library of choice is jQuery.

There might be more specific technology libraries that we’re going to use, but we’re gonna cross that bridge when we get there since we also like to borrow YAGNI principle where applicable.

Note on what’s expected: once everything is done, deployed, and cache warmed up, server response time has to be less than 150 ms for every page load, including cart manipulation, stock manipulation, etc. Only things that we can not guarantee for are eCommerce APIs that have some external dependency (i.e. card processing, etc.)

Note on server requirements: It’s hard to talk about minimal requirements for system like this, but it’s going to be deployable to a single machine, although it’s going to be optimized for horizontal scaling, so that won’t be optimal to have it in that setup.

Actionable items

Since the entire system will be somewhat complicated, we’ll develop features in logical phases.

Phases are:

  • Front end application and administration will be done in parallel with consideration for caching
  • API glue will be implemented with consideration for caching
  • Caching will be done last for FE epic

Front end epic

  • FE Administration
    • UI builder – interactive box model drag and drop for building UI of store pages (home, static pages, product page, category page, navigation, cart, checkout,…)
    • Admin UI builder – react components mapped to APIs
    • Admin UI builder – Admin UI to put all react components into a page
  • FE Application
    • FE API Glue – will be used to fetch data to populate templates
    • Basic router to map to static files
    • Basic JS application that will connect API Glue and react templates
    • CSS basic styling
    • CSS responsive design
  • API Glue
    • Minimal static API structure to allow complete user flow
    • DB mapper of APIs – needs to be cached
    • Internal stock, mapped to eCommerce data
    • Checkout as offline process, works with internal stock
  • Caching system – API Glue caching where possible
  • Setup initial infrastructure (we need to have working example)
  • Plan for Alpha release

Data mappers epic

  • Magento 2 data mapper
    • Enable Magento 2 APIs
    • API glue mapping to Magento API
  • Investigate other eCommerce options
    • Magento 1 further investigation
    • Other eCommerce systems that have APIs

Let’s estimate time needed for all of this

Firstly, since this is company’s side project, promising all of this in 2 months or less is really not that reasonable since we actually do other things like development, scaling consulting and few other things for living.

What we do promise is that we’re gonna make it happen, and given open source nature, everyone is free to help through pull requests – all credits will be given to authors. This might speed up estimation in case we do get some support.

Finally, given that I’ve put this task upon myself only, and that I’ll be working on this in my free time, I’ll try to estimate this in somewhat realistic time frame.

Both FE Application and FE Administration implementation will last 6-8 weeks each. For the API Glue, a bit less – 5-6 weeks. Everything else shouldn’t take more than 7-10 weeks.

This sums up to 20-32 weeks or 5-8 months. It’s pretty long time, but it’s going to be worth it when I see first stores that are using it to fly…

Leave a Reply

Your email address will not be published. Required fields are marked *