ERP system for a large E-commerce Marketplace

Project Description

The project is a large German marketplace platform consisting of two main parts: customer-facing Marketplace and an ERP system. I joined the project as part of a brand-new team – "the Order Tribe" – responsible for order processing and other related tasks. I was the first developer on the team, and, as such, I had a chance to influence its infrastructure and processes. Every two months, I traveled to Germany and worked at the client's site.

Broadly, here is the list of my main achievements:

  • Worked on the Fulfilment order processing, which was a large and complicated refactoring effort that affected all parts of the system.
  • Took part in the Demand Planning service development.
  • Migrated Demand Planning service to the microservices architecture.
  • Implemented the first version of the Marketplace sales channel adapter.
  • Implemented order creation workflow for the Marketplace and its Emulator.
  • Took part in the ERP and Marketplace integration efforts.
  • Took part in automated testing improvements: implemented an array of configuration-based fixtures, improved test performance, fixed "ghost" test issues, etc.
  • Implemented the Stock and Sales report, which became a prototype of the Demand Planning service.
  • Implemented Marketplace API v2 integration, maintained v1 version.
  • Implemented API versioning.
  • Implemented the first version of the Sales Forecasting module and mean absolute deviation calculation.
  • Actively participated in interviewing and onboarding of new developers and QA.

Overall, the project is quite technically interesting. It is built using Symfony, Doctrine, and other related packages: FOS Rest, Serializer, Forms, Messenger, etc. What my team has built resulted in good code quality and reliable infrastructure:

  • Automated, functional, and unit tests using PHPUnit and TestRail
  • Robust CI/CD pipeline
  • RabbitMQ event-based architecture
  • The production infrastructure is based on Docker in a Kubernetes cluster in Google Cloud.

Technologies: PHP, JavaScript, SQL, Symfony 4, Doctrine, FOS Rest, MySQL, Rabbit MQ, Events based architecture, Microservice architecture, PHPUnit, Docker, Google cloud services, Jenkins, Gitlab CI/CD.