π₯ Tech Blips #23.4
Each month I try to summarise some techniques, tools, languages and frameworks or platforms on the software architecture, cloud and web horizon that are worth taking a look at.
TL;DR in this technology newsletter
- Techniques: Bounded Context Canvas (Trial)
- Tools: Contexture (Assess)
- Frameworks & Languages: tRPC (Trial)
- Platforms: FOSSA (Trial)
The Bounded Context Canvas is a collaborative tool for designing and documenting the design of a single bounded context.
If you don't know what a Bounded Context is, you should check out the DDD reference by Eric Evans and the article by Martin Fowler.
The Canvas guides you through the design process of a Bounded Context by asking you to consider and select the most important elements of the design, from naming to responsibilities to the public interface and dependencies.
Contexture is an application that supports the process of Bounded Context Modeling with a special tool developed with a DDD mindset.
Typically, a Bounded Context Canvas is created on physical paper using post-ITs, while digital versions are usually just a mirror image of the physical representation, for example using Miro. This means that the captured information is presented as free text on virtual post-ITs and isn't stored in a structured way. This prevents further data processing and visualization of the information.
This is where Contexture comes into play:
- Contexture stores information via a bounded context canvas in a structured way, rather than just using free text on (virtual) post-ITs
- Contexture allows explicit connections between different bounded contexts
- Contexture supports updating and versioning of the information over time
- Contexture allows to export and visualize the information from the application
- Contexture and helps people to input data for a Bounded Context Canvas easier
You can view the current status of the application at https://contexture.azurewebsites.net/
tRPC is an open-source RPC (Remote Procedure Call) framework that lets you to develop fast and efficient microservices using TypeScript or JavaScript without code generation. It is designed to simplify the development of backend services by providing a simple and intuitive API for defining remote procedures and handling requests and responses.
As TypeScript and static typing increasingly becomes a best practice in web development, API contracts present a major pain point. We need better ways to statically type our API endpoints and share those types between our client and server (or server-to-server). tRPC is a simple library for building typesafe APIs that leverages the full power of modern TypeScript.
tRPC supports bidirectional streaming, server-side streaming, and client-side streaming, which allows developers to build real-time applications with ease.
In addition to its ease of use and flexibility, tRPC is highly performant, with low overhead and high throughput, making it an ideal choice for building scalable microservices with full-stack TypeScript.
FOSSA is a popular license compliance management platform that helps organizations manage and track their usage of open-source software components.
The platform automates the process of identifying open-source dependencies, analyzing their licenses, and ensuring compliance with relevant legal obligations.
FOSSA offers a variety of features, including automatic license scanning, vulnerability detection, and integration with popular version control systems, making it easy to integrate with your existing software development workflow.
With FOSSA, you can keep track of all your open-source dependencies and ensure that your software is always up-to-date and compliant with licensing requirements.