Project description

The Milk Movement System is a comprehensive tool designed to help producers, processors, transporters and regulatory boards track dairy production and quality. The system starts with a state of the art transportation handheld system. Designed for rugged Android devices, the system is simple and elegant making drivers routes a breeze.

Project Type

Milk industry, Laboratory testing, Dairy production and quality tracking system

Project Time

1 Year

Client

Canada Based Client

Problems

  • Cummunication
  • Individual dashboards
  • Mobile application for transporters
  • Automated insertion of lab reports
  • Architecture for CI/CD

Issue: There are 3 major pillars of the Milk Industry in Canada i.e. Producers, Processors and Logistics. The communication between these players was manual and slow-paced connections. The records were also manual and computerized to some point but not completely. This resulted in de-synchronization of the above parts in real time. In order to avoid a great number of human errors, the need to create such a system where we could make entire records computerized and automated and thus, all parts get synced at the same time.
Solution: We developed a system where every player had their own separate dashboards. All the information related to that particular player was displayed there, making access to the data easy and user-friendly. As the entire data was now in real time, all the matters in between the actors got synced up completely.

Issue: As the number of players was massive in this software, we wanted things to remain simple and crispy code wise. Our target was to avoid things like duplication or repetition of code.
Solution: We added a complete custom solution for roles and permission. So, that we could have separate dashboards for all the players but with the same code. Making things simple and practical with elegance.

Issue: Transportation was one of the key factors in the Milk Movement System. Pickups and dropoffs by the transporters needed to be submitted in the records as soon as they made these deliveries of milk batches. A system had to be created for these drivers, so we could sync that data with other departments and give it a transparent view.
Solution: We developed a mobile application for these drivers. So, they can enter all the details of their pickups and drop offs using their invoices, while they are on the move. This information is then made available on the website application where everything is processed.

Issue: The lab reports from the processors arrive on a daily basis. Using that information many reports, invoices and other important analysis/documents are generated. We had to automate that entire workflow.
Solution: We used the serverless functions from AWS lambda and scraped the incoming emails. Then they get inserted in the system whenever the user receives them. We also made the whole parsing and extraction method automated after the scraping process.

Issue: A team of designers, backend and frontend engineers were working on this massive project. This gave birth to a large code base which became massive with time. Thus, making it difficult to manage and deploy the code in production.
Solution: We implemented the architecture for CI/CD to automate the whole process for all environments: Development, Staging, Production using several AWS managed services.

Our Project Planning

Client Needs

● We collected and gathered information from the client through several meeting, calls and conversations.
● We completed that task over a period of several weeks. After that, we brainstormed over the information that the client gave us and molded it into a meaningful shape with our answers to their needs.
● We submitted our solutions, analysis and overall overview of their project. After making another round of discussion, we finalized it with our client.

Delegation

● The project was divided into several milestones and every milestone was given a specific deadline.
● We devised teams and delegated the work to each one in accordance with their skill level.
● The created milestones of this project were divided in such a manner that they remained independent of each other, so one milestone can’t get affected by the other.

Project Management

● We approached the project with agile methodology i.e. placing the work in sequence as sprints. Since the project was divided into milestones, the particular tasks assigned to these were also designed in such a way that the team members remained independent over the others.
● At the end of each day, we had a quick scrum of 10 minutes.
● At the end of each week, we had a longer scrum.