Custom B2C eCommerce Marketplace

Project details

Our client had the concept of eCommerce marketplace and they wanted to realize it to a maximum potential. The idea was simple — to combine traditional internet marketplace with social network. The project combines traditional seller/buyer acquisition model with referral-influencer model.

This change was made possible by increasing and slightly advancing social element of user experience. 

Not only users can chat with sellers and each other, leave comments and product reviews — they can also recommend products to one another thus act as influencers.

The client needed experienced, tech-savvy team skilled in web development who could pull it off. Basically we were tasked to create ecommerce website from the ground up.

Our team was responsible for refining the full development cycle. From initial analysis fleshing out the concept to defining and developing functional parts (including data modelling and transaction processing), operational interface and integration of external services.

Challenge: Scope of the project

The biggest challenge was the uncertain scope of the project. It involved many moving parts that required novel marketplace solutions.

Our involvement started on the earliest stages. We were instrumental in fleshing out the entire concept of the project and refining the strategy of its realization.

Over the course of initial stage — initial specification was transformed in its entirety.

In order to refine and polish every element we have conducted extensive tech and market research. That gave us an additional insight that helped us a lot at later stages.

Challenge: Choice of payment system

Next big challenge was choosing the right payment system. We performed thorough market research and studied closely the majority of commonly used payment systems. This research gave us invaluable insight into the subject.

We needed to find optimal solution for sellers and buyers that would also meet expectations of the clients. Every payment system had their limitations. Some are limited to certain countries, others have complicated eCommerce marketplace integration. Another issue was that not every payment system was willing to cooperate with a startup without established reputation.

The only practical solution was to use a combination of several payment systems. In order to define the best options – we performed research of payment system and selected several payment systems: PayPal, Stripe, MangoPay in particular.

Challenge: Defining price formation algorithm

Another big challenge was writing an algorithm of the price formation. We needed to construct balanced and trustworthy system of price formation.

In order to do that we defined fees from several sources (platform, taxes, payment systems) and specified the mechanism specific for every country. Also, we added discount and referral scenarios.

Also, we implemented multi-currency calculation into the system to allow users correctly count the price in a currency of choice without going to other services.

Challenge: Quality Assurance

Testing was one of the most challenging stages of development due to overall scope of the project. Sheer quantity of test subject and scenarios to be developed was menacing. However, through agile approach we broke down every subject to several elements and applied gradual progression.

In order to balance the workload we performed extensive performance testing on several parameters: threshold value, reliability and response time. That helped to improve site operation.

Technology stack

In order to provide the best possible way of developing the application we have tried out several software options before settling on a definitive set. We wanted to create application whose maintenance would be completely independent of additional software.

The following tools were used to ensure smooth, uninterrupted operation in Android platform:

  • Back-end:
    • PHP7, Symfony 3.4, MySQL, Redis, RabbitMQ, Elasticsearch, Docker, Nginx, gitlab-ci, terraform
  • Front-end:
    • React, Redux, Node.js, Express, React-Router, Server Side Rendering, Flow.js, Webpack/Gulp, ES6, Babel
  • HTML:
    • Html5, Css3, Bootstrap 3, Gulp, jQuery

Our team consisted of:

  • Project Manager
  • Designer
  • HTML — coder
  • Front-end developer
  • 2 back-end developers
  • Quality Assurance Specialist
  • DevOps

Summary

The project started out as just another eCommerce marketplace with a gimmick but over the course of numerous discussions it quickly grown out into something really special. It became a test of skills for our development team.

Over the course of development our team discovered numerous new approaches to challenges. We needed to construct many elements on our own which was very inspiring for the team.