Ecoparcel web platform development on python django

From upgrade to refactoring

Intro

Over my 20 years of software development, I've done various complex tasks, yet, to this day Ecoparcel might have been one of the most challenging ones. 

 

Problem

Ecoparcel it self is an amazing project - prime example of how can technology solve difficult business problems, allowing customers enjoy seamless parcel transportation, and leaving all the heavy lifting to tech.

Yet - this comes at the cost. Years are needed to develop such an immense amount of logic, and the logic might become quite complex. 

And over the time bossiness can find in self in position with hudge amount of unused, legacy code, hudge amount of outdated 3rd party packages, and stuck on 13 years old main framework version without any easy ways to upgrade it.

 

Solution(s)

MB Pikutis :) Yet, jokes aside, lots of work had to be done. 

First, audit was made to identify unused packages / code blocks. 

Then stack was containerized, and CI/CD workflow was set up, since it was clear that there will be a lot of deploy / test sequences.

An then heavy work remained - refactoring of the code to support latest python notation and adopt latest 3rd party package logic. 

All this was done monitoring the change of solution performance times, as well as ensuring that main business flows were still working. 

 

Result

226 hours later, solution went on-line using latest python, django and all 3rd packages version. Dockerized, with internal log and performance monitoring system discarding a need for 3rd party services.

No more security or performance issues.