In this project I developed CRM for international delivery company. It automates big part of possible processes that are related to this area. I created the first version of this application in 2011 and terminated my cooperation with the customer in 2017. Over these 6 years I had implemented hundreds of features and maintained the whole system.
Background
I started work on this project, which was my first big one, in far 2011.
Funnily enough this project started by accident. In 2011 the easiest way to buy anything from the US was using special delivery companies, "USA UA" was one of them. The company main service is purchase delivery from the States to Ukraine.
I ordered a headlamp from the USA. When my stuff arrived, I went to a company warehouse. I was confused as they were using Excel for calculations. I offered to create a solution for their needs and my proposal was accepted.
Workflow
Firstly, I automated the process of calculating the cost of delivery. The calculation was based on the weight of the parcel and item cost.
Later, in 2012, the calculation software transformed into a big system for accounting and parcel control which was working only in company local network.
The next step was to open access to the system for customers of the service through Internet.I developed a simple user interface. Users data (names, telephone numbers for sending parcels) was already stored in database. So one day all users received an SMS with logins and passwords, those were new accounts on the company web site. From that very day in 2013 the service started running to its full capacity.
Functionality
List of functions that I developed during this project:
- accounting - complex system of mathematical calculations;
- online single/bulk ordering;
- communication system with administrators;
- balance replenishment by a variety of means, with the smallest possible commissions;
- worldwide tracking of order;
- dashboards for managing parcels in Ukraine;
- automation of logistics processes;
- informing users through various communication channels;
- automatic connection of the service with social networks;
- blog;
- registration/password recovery;
- regular exchange rate update;
- sales management.
Conclusion
Work on this project gave me great experience in supporting the code written several years ago. I learned how to write code which can be understandable after a long period of time and which a required functionality can be easily added to.
I worked on the project from 2011 to 2017 and it was an invaluable experience that helped me to write more maintainable code.
Environment
MySQL, PHP, JS, AngularJS, Bower, Grunt.
Sales page
Blog post
Managing shipping information in the account
Balance history
Shipping cost calculator
Order invoice
Sales newsletter
Automatic posting in social networks