Source Allies Logo

Blog Insights

  • Teammates walking in front of wall that displays Source Allies's values.

    Culture and Mindset Propels Growth

    Ask any Source Allies teammate what the key to our success is, and they will tell you without hesitation it is our positive culture and ownership mindset. We have a culture that supports teams making their own decisions and shaping their own future. This culture enables Source Allies to be a high-performing organization fueled...
  • Repeated question marks

    Asking the Right Questions

    In a previous blog post, Brenda Peshak discussed the "Definition of Done". As a team, we ran through an exercise to understand requirements and determine Minimal Viable Product (MVP). This got me thinking about real life examples of software and how decisions made by product owners and product managers directly impact our day- to-day lives. Again,...
  • Rows of beans in a field

    Building a Mobile App using John Deere's IoT APIs

    Each summer Source Allies offers an apprentice program to college students who want to develop their software development and consulting expertise. This summer’s team consisted of four returning apprentices -- Alec, Jared, Max, and myself -- as well as one new apprentice, Yousef. Project Each year the projects vary from developing internal...
  • Close-up of hands typing on a laptop

    Breathing New Life into an Old Laptop with RancherOS

    While taking stock of my electronics graveyard I came across an old laptop. I had been looking for a reason to play with Docker containers and this laptop provided me an opportunity to do so. Since it was only going to be running Docker containers, I wanted a no-frills setup....
  • Teammates sitting together and looking at code

    Node Reference - Conclusion

    Prerequisites This article builds on the prior article: The "Join" Problem. Conclusion In this series, we walked the reader through the considerations of building a production-ready microservice. More important than the tools we used (e.x. NodeJS, AWS) were the questions we asked. You may choose different tools and libraries for your applications, but it is...
  • Teammates sitting together and looking at code

    Node Reference - Change Events

    The "Join" Problem Modern applications no longer exist in a silo. They need to integrate with other systems within the organization. In a microservice architecture, this is even more valid since very few business processes can be completed by involving only one service. Let us suppose that our product service is the new source...
  • Teammates sitting together and looking at code

    Node Reference - Delete

    Prerequisites This article builds on the prior article: Node Reference - History. Deleting Humans make mistakes. Your users are humans, and sometimes they will create a product by mistake and will need to delete it. For that scenario, we need a DELETE{:target="_blank"} REST endpoint. There are two main classes of delete actions: a "hard" delete and...
  • Teammates sitting together and looking at code

    Node Reference - History

    Prerequisites This article builds on the prior article: Patch. Tracking History The way our service is currently built, all modifications (PATCH requests) happen in-place to records in DynamoDB. It is common in most production applications that someone will want to know the history of a record. A business user may want to know who changed...
  • Teammates sitting together and looking at code

    Node Reference - Patch Product

    Prerequisites This article builds on the prior article: Node Reference - Get Product by Id. Supporting Updates Sooner or later, there will be a need to modify a product. Except in the case of immutable data stores, rarely are there entities that are truely "insert only". In order to support this, we need...
  • Teammates sitting together and looking at code

    Node Reference - Get Product by Id

    Prerequisites This article builds on the prior article: Node Reference - Listing. Add Get By Id At this point, we have only one way to get Products. We have to list all products and page through them to find the one we want. However, a lot of the time, a RESTful service client will have...