By Ariel Leguizamon, Head of Development, Solvd, Inc.

Ariel Leguizamon

Ariel Leguizamon+

The coronavirus pandemic brought about changes in the modern digital landscape on a scale that hadn’t been seen before. With whole business domains moving online within months or even weeks, the digital infrastructure that supported them was put to a real test. On the upside, this shift caused huge transformations for the e-commerce sphere, with new tech and projects springing up and raising new standards.

These changes happened really fast and many businesses found themselves falling behind and needing to adapt their processes of using, on the one hand, and development, on the other hand, of e-commerce applications and platforms. In my experience, even now, three years after the outbreak of the pandemics, I see many project managers making decisions about what tech stack to use based on their experience or personal preferences rather than on business or market demands. It’s true that  when selecting tools to build an environment which will benefit a particular e-commerce best, today you will be basically selecting something among an array of good tools, and it becomes a challenge. In this article, I will go into detail about which factors you need to consider when making this choice and how to build a software development environment for your e-commerce project that will enhance the team’s efforts and answer the business demands of your niche.

Trends that will factor in your decision making

Competition in the e-commerce domain is huge, standards and budgets are raised high, so standing out in such a densely populated domain becomes a challenge. First, I’d like to name a few key factors that you need to consider when building a work setup.

1. Personalization
One benefit over-the-counter sales have over online sales is, hands-down, personalized interaction. Having a trained shop assistant help you select your items based on your communicated preferences, or the very process of shopping in a carefully tailored environment gives you what we all in fact seek when we shop for something: emotion.

While many experts agree that taking the shopping process online devoids it of that certain thrill, personalization and customized user experience is something e-commerce applications strive to achieve to substitute it. A web-based e-commerce application is, after all, a place where customers and brands interact.

Tailored user experience supposes constant acquisition and analysis of data, such as preferences, search and purchase history, etc. AI tools that leverage ML and advanced algorithms can create comprehensive user personas and help deliver uniquely personalized user journeys.

2. Sustainability
If we look at a user persona in a consumer audience most e-commerce projects would name ‘highly desirable’ because of their sophisticated preferences and particular solvency, we will see that such users often prefer eco-friendly, sustainable solutions which also create a positive socio-economic impact.

That is why, when selecting your tools for development, make sure they accommodate the demand for mindful consumption, for instance create lower carbon footprint and go in line with the circular economy trends and ethical standards.

3. Accessibility
Geographical scaling and reaching out to audiences or social groups that haven’t been previously covered by e-commerce is an important social factor that makes an e-commerce app excel. Accessibility also starts with tool selection. For instance, making cryptocurrency payments available to the unbanked or in regions where highly liquid and convertible currencies are not accessible.

Building your Development Environment: Corner stones

1. Which development approach to choose?
E-commerce is rapidly developing and you need to be very flexible and quickly react to market fluctuations, to shifting customer demands, and to be able to incorporate feedback fast. All this speaks in favor of iterative development methodologies, such as Agile or CI/CD delivery models. To boost your flexibility even further, microservice architecture may be the best solution for an e-commerce app. It provides the modular structure which is best when you need to distribute the load, place your content geographically closer to particular user groups to increase speed and performance.

Another advantage of picking microservices is that modules allow you to make the best use of the available resources, especially if they are limited. For instance, you can make certain critical modules, such as payment gateways, far more stable and reliable than the rest.

One other factor you need to consider is whether you are developing an MVP or a final product. Tools that accommodate swifter update implementation and changes to functionality are the best selection for building an MVP and research, while tools that support creation and deployment of larger-scale projects and provide more in-depth specific features are better for the final product.

2. Frontend: Vue or React?
Both frameworks are on par with each other in terms of performance, both have their certain advantages and devote followings, your selection will depend on whether you are building an MVP or the final project, on the business goals of your application, your budget and on your developer availability. Here are key factors to consider:

  • Vue offers a vast ecosystem of companion libraries and a great combo of third-party and pre-build components, making it the perfect choice for initial research and experimentation a.k.a., the MVP stage.
  • React has better integration with rich third-party libraries and is better for building an application which will support a wide functionality range.
  • While both have equal opportunities for SSR through the use of Nuxt.js and Next.js frameworks, React’s component-based architecture helps build clean-coded apps with fast page loading.
  • js is generally easier to learn, so it’s more accessible to a larger number of devs on your team. Its simpler syntax and structure make it easier to incorporate SEO best practices, and SEO is vital for an e-commerce app.

3. Database
When selecting NoSQLor SQL for your product, again, much depends on your development scale and budget, business requirements and your plans for scalability.  For example, SQL tools support more complex query handling, which is great when you are implementing a database into your final product. At the same time, NoSQL databases scale horizontally, which is a big advantage over SQL’s vertical scaling, and this is the point where you need to consider your budget, your project size. Sometimes it’s worth investing more into hosting an SQL database, but benefit from the advantages of handling a large number of complex transactions and analytical queries, which are typical for an e-commerce app.

Personally, I usually go for NoSQL for the MVP, for the flexibility due to its schema-less nature and the speed it offers, and for SQL for the final product, to support complex queries in an environment where data integrity is paramount.

4. Backend
When it comes to selecting tech stack for the backend of an e-commerce app, I consider Node.js, Golang and Python the staple choices. Selecting one is almost a religious choice and all three can be made to work well.  Here are some thoughts on what to take into consideration when making your selection.

  • Golang would be my choice for highly concurrent systems, which is often the case with e-commerce web-based applications because of its high performance value and fastness, and he ability to accommodate highly computational operations
  • Python has the simplest learning curve and an enormous library support, especially if you have C++ modules and developers or plan on having them. In a way, I would say, today Python is the lingua franca of coding and chances are, you will find better resources with Python
  • js is a great choice when your frontend uses Javascript as well, this alignment between server and client sides ensures a more unified and efficient development process. All in all, Javascript has excellent support for AI tools and this could reap you many benefits in developing an e-commerce app where personalization is key.

5. Create a Testing Environment
While specifics of testing and QA for a commerce app deserves its own series of articles, here’s some ground views I’d like to share on how to build a good QA infrastructure for your app.

While e-commerce web applications undergo all typical test types and procedures, due to their scale, the trick is to divide and conquer, so I would recommend paying specific attention to unit testing. Unit testing can be the kernel level, as they are fastest and easiest in terms of automation and running, and other tests like integration and E2E can be performed on top of unit tests.

There’s a variety of tools to use for your unit testing, like Jest, which can be your go-to framework especially if you are using Javascript-based stack.

I would recommend using specific tools for E2E tests, such as Cypress. It integrates perfectly with other JS instruments and provides great tools for E2E automation.

Best DevOps Practices for E-commerce Web Apps

Usually, an e-commerce project has enough scale to require introduction of DevOps best practices. Here are some DevOps choices I use and recommend:

1. Working with Containers and Orchestration
For an e-commerce application that puts high demands on scalability, a single-instanced infrastructure often becomes a potentially huge business-risk, so using containers is practically inevitable. Tools like Kubernetes, Docker, ESC, provide your DevOps infrastructure with the necessary autoscaling solutions. Will be perfect for those Black Friday, Cyber Monday, Valentine’s and Back-to-School activity peaks that require fast and safe scaling.

2. Working with CI/CD cycles
As I have already mentioned above, continuous delivery allows you the speediest possible reaction to any possible issue, which is crucial for e-commerce apps, as user satisfaction and user retention are some of the most important success metrics. My choice for CI/CD pipelines would be Jenkins or Github Actions, but there are many other similar tools. When making your choice, consider what you are using as your repository and what functionality you expect from your staging and production tenants.

3. Monitoring and visualization tools
When reaching a certain scale, an e-commerce project becomes a challenge to keep track of, so any tool that makes your team’s lives easier when it comes to gathering and visualizing data, monitoring and analysis, is empowering your BI specialists. Personally, I prefer the tandem of Prometheus and Grafana for data visualization and an out-of-the-box approach to monitoring. Some traditional choices in this sphere can also include Tableau, Power BI and – yes, Google Analytics as a staple. For more specific tasks you can use tools like Raygun to analyze key points of your customer journey, Mixpanel to track user engagement or Mouseflow which helps you generate heatmaps to track user behavior.

Key Takeaways

As you can see, the variety of tools to build your perfect environment for developing and launching your e-commerce app is vast.  The final setup you decide on should depend on your project scale, budget, team capacity, business requirements and other specifics of your particular application. There is, probably, no such thing as a ‘good’ or ‘bad’ tool or framework, as there are multiple great instruments available for IT project managers and DevOps today. But studying each particular one to see how well it integrates with other tool selections, how it fits your customer and your business needs and development goals, is key to making the right choice.

Partner content is created on behalf of and in collaboration with Solvd by DigitalCommerce360. Our editorial staff is not involved in the creation of the partner content.

About the Author

+ Ariel Leguizamon is a Head of development at Solvd, Inc. & software engineer with over 10 years of experience. He is a super passionate about tech and entrepreneurship. Ariel has led loads of projects, including some with remote teams across multiple countries, he gets a huge kick out of helping people feel motivated and excited about their work.

Favorite