Case study

Live order tracking on Golang, open sourced by RoseRocket

This is a guest post by Alex Luksidadi, CTO and co-founder of RoseRocket, a Y Combinator backed transportation management system for trucking.

At RoseRocket, we are building a modern transportation management system for trucking companies. Our product eliminates costly paperwork and data entry problems, and simplifies dispatching and reporting for our customers. As a small team of 10 members working hard on bringing software efficiencies to an old-school and low-tech industry, we want to focus on problems that are core to our stack. This implies using tools and infrastructure that would make our developers more productive as they build new features.

One of the most popular features is live order tracking. Our customers want to be able to see their fleet on a map along with an overview of ongoing pickups and deliveries. We chose to build this feature on HyperTrack.

What stood out for us was the ability to build custom visualizations for our customers by embedding HyperTrack views in our internal dashboards. HyperTrack’s phenomenal onboarding experience made it easy to pick up the building blocks and start building.

Built on Go

The RoseRocket backend is built on Go. We chose Go because it’s scalable: if PHP needs you to crank up 10 servers to support 1 million concurrent requests, Go can do it in 1-2 servers. Go compiles to any modern architecture and can actually use all the processors of the machine. It helps that it is strong typed and easy to learn. Google uses Go in production.

As we were integrating the HyperTrack API with our Go application, we figured that our code could be useful to other Go developers integrating with HyperTrack. Hence, we are open sourcing the hypertrack-go library.

Order Tracking on Golang

Today we’re releasing hypertrack-go, a Golang library for interacting with the HyperTrack API. Now Go developers can easily integrate order tracking APIs with just four lines of code.

1. Create a user

user, err := client.CreateUser("John", "+16267777777", "http://your-photo-url", "user-lookup-id", "group-id")

2. Create an action

action, err := client.CreateAction("123 Fake St", "Toronto", "M5V 1C8", "Canada", "lookup-id", "pickup", "2017-06-02T18:14:04.481983Z")

3. Assign action to user

user, err := client.AssignActionToUser("user-id", []string{"action-id1", "action-id2"})

4. Complete the action

action, err := client.CompleteAction("action-id")

If you’re looking for more API support, raise a pull request and we would be happy to add your contributions to the library.



One thought on “Live order tracking on Golang, open sourced by RoseRocket

  1. Pingback: We're launching v3 in the US | HyperTrack

Leave a Reply

Your email address will not be published. Required fields are marked *