Web solution for MyCarrierTMS

MyCarrierTMS is a transportation management portal for truckload shipments.

  • Duration 2017 – ongoing
  • Team Starting with 5 and increasing to 25
  • Type Shipment and transportation
  • Industry Logistics
  • Platforms Web, Mobile (adaptive)

Project idea

The startup was founded by logistics professionals who wanted to connect shippers and carriers directly. The envisaged solution would further streamline activities needed to book, coordinate, and monitor less-than-truck shipments.

Target audience

The platform targets small to mid-size shippers. They can find a carrier faster. The software automates multiple steps. It also decreases uncertainty. For carriers, the startup optimizes operations and also provides visibility opportunities through partnerships.

Results

The team delivered a Web solution from scratch, helping the startup validate its business idea. The number of operations started growing soon. The startup received funding in several rounds. The development team focused on cloud transition for greater scalability.

Core Tech

  • logo

    Angular

  • logo

    .NET

  • logo

    TypeScript

  • logo

    Azure

Project challenges

  • Integration of an API that was under development. By the time the IT Craft team was integrating project44’s API, it was under development. The work continued in parallel. Every project44 API update was simultaneously implemented in the MyCarrier codebase to grant consistency.
    Agile workflow. Scrum methodology allowed to integrate tightly business and software development teams. The development team could react fast to requests from the client’s team and change Sprint's focus every two weeks based on desired priorities.
  • Automation at scale. The team automated routine jobs, from update releases through regression testing to infrastructure deployment to keep up with the constantly increasing user number. This further freed up resources to focus on long-term improvement.
    Efficient and flexible team onboard. After the MVP launch, scope of work grew constantly. To match the workload, the team grew from 5 to 25 people. The same team members continue working on this project to ensure stability and consistency.

Planning

Input

The client initially:

  • Had an idea and sought its validation.
  • Set stringent standards to fully capture the look and feel of the future transportation management system.
  • Targeted Ukrainian companies.

Analysis

Our team:

  • Provided efficient app architecture.
  • Kept pace with the required timeline.
  • Built a customer-side system for the shipper first after 6 months of work.
  • Completed the carrier portal three months later.
  • Focused on expansion, scaling, and architecture transformation.

Result

IT Craft’s work resulted in:

  • Timely launch of an MVP portal for less-than-truck shipments.
  • Project expansion to full-truck-load shipments.
  • Software maintenance that ensures its 24/7 availability.
  • Software transformation aiming at improved stability and scalability.

Business benefits

Transparency

The system connects users with multiple carriers. They can run and compare rate quotes, book shipments, and track deliveries.

Process automation

MyCarrier optimizes routine and reduces booking time. Managers need fewer steps to quote, ship, and track.

User friendliness

MyCarrier is a leading solution on G2 for ease of use and for doing business with the company.

Simplified provider connection

With efficient, tested processes, the team connects new providers to the system within a minimum timeframe.

Main project
features

Quotes

Users compare rates from multiple carriers in live mode. They find the best prices and service levels for shipping rates to match customer needs.

image

Coordination

Users plan logistical activities, adjust deadlines, determine pick-up schedules, and manage deliveries, and exceptions in the dashboard.

image

Document generation

MyCarrier system autogenerates all required documentation which can be further sent via email or post. The system stores documents in the user account from where they can be retrieved easily.

image

Shipment tracking

Users review all shipment information in their MyCarrier calendar 24/7. Automated alerts help them identify tracking statuses. Filter options make it possible to display shipments at a specific location.

image

Reports and Analytics

Collected information is always available at hand. It serves to build performance reports. Users can compare time and costs per carrier and determine potential savings.

image

Are you looking for the best implementation path?

We can help you.

Contact Us

Project transformation to microservices and further improvements

During the post-production stage, the team adjusted the software to their client’s long-term growth plans. The team focused on building an application that supported:

easy
scaling

simplified updates and maintenance

99.97%
uptime

high
performance

All while coping with a constantly growing user load.

At a certain point, the team concluded the project needed major changes to keep up with the challenges.

Although the team could have continued working with the existing monolithic codebase, it opted for project transformation. The monolithic codebase had become expensive, heavy, and resource-consuming. Also, technical limitations surfaced.

The team decided on microservices architecture and a relevant infrastructure design to ensure correct system operation in the cloud.

Project
transformation steps

The entire transition towards services-oriented architecture included three major stages divided into several sub-steps.
The team designed a migration plan covering:

01 Pre-migration

The IT Craft team conducted a system audit and designed a migration plan with 20-28 items on the list. The team aimed at reusing source code from the monolithic codebase. The entire system was divided into eight subdomains that depended on different responsibility areas.
Also, the team started to accumulate a library of system components, e.g., database connection providers, report generation components, jobs, etc.

Plugsurfing app

02 Migration

The team transferred the entire software—part by part—ensuring users accessed the same functionality without noticing any difference. It was not possible to immediately transfer critical resources (e.g., scheduled jobs) to the cloud. The team began by moving to a service-oriented architecture.

Jobs migration

At the first step, the team began migrating non-critical stand-alone jobs by transferring them to the cloud. They could run independently from the entire application using Azure Functions for serverless solutions.
Critical system parts were separated into microservices and transferred carefully during the next step.

Content migration

Initially, all user content (files, documentation, tables, etc.) was available from virtual machines where it was stored, processed, and from where it was retrieved. The team integrated Azure Storage Account, a container for user data where user data was stored after migration. Users continued working using virtual machines, but those were connected to the cloud.

Logging migration

The logging system worked on a virtual machine with a Mongo server on it. The team moved to Mongo Atlas—a cloud server for relational databases that ensure high viability.

Data migration

Eventually, all software parts landed in Azure Cloud. The entire system was transferred to microservices architecture and became available from the cloud.

Eventually, all software parts landed in Azure Cloud. The entire system was transferred to microservices architecture and became available from the cloud.

Plugsurfing app

03 Post-migration

Developers continue to release all-new app functionality as microservices. They focus on efficiency by automating routine processes on the project. The team designed and fine-tuned a CI/CD pipeline.

For it, the team established build-and-release pipelines and applied best practices to test automation. Infrastructure deployment is controlled and managed via scripts.

For it, the team established build-and-release pipelines and applied best practices to test automation. Infrastructure deployment is controlled and managed via scripts.

As a result, the team can release any number of instances with identical configurations at once and deploy app code on them within seconds. Regression test automation decreased the delivery time of app updates

Plugsurfing app

Transformation benefits

Transition to microservices provides the following benefits to the project:

Fault tolerance

The system is based on three shared clusters switching from one to another in case one becomes unavailable.

System stability

Software behavior has become more predictable for developers making it possible to simplify maintenance.

High availability

The team has achieved 99.97% system availability through infrastructure reorganization and continuous monitoring of system health.

Scalability

Any number of required, identical software copies can be launched automatically when user activity grows.

Decreased release time

With automated testing and pipeline, time needed for delivering updates has reduced from hours to minutes.

Project timeline

  • Project timeline

    2017 – ongoing

  • ≈ monthly workload

    3,500 – 4,000 hours

Technologies

  • logo

    Angular

  • logo

    .NET

  • logo

    TypeScript

  • logo

    Azure SQL

  • logo

    MongoDB Atlas

  • logo

    Azure Cloud

  • logo

    Azure App Service

  • logo

    Azure Functions

  • logo

    Azure Storage Account

  • logo

    MailGun API

  • logo

    Stripe

  • logo

    Recurly API

  • logo

    Google Maps API

  • logo

    project44 API

  • logo

    Hiqpdf

our clients say

USA

Chris Scheid, Founder

“IT Craft delivers on time and on budget. We’re really happy with their whole team—they’re professional and transparent, giving us access to everyone on the team. They provide feedback and make suggestions, acting more like a colleague than a hired agency.”