- context

As a follow-up to my recent post called Aligning software architecture and code, this is the first in a series of short posts that will look at the code behind the website that I recently open sourced on GitHub. The posts will also show examples of some simple software architecture diagrams based upon the C4 approach (context, containers, components and classes) that is described in my Leanpub e-book called Software Architecture for Developers. There's also a short introduction on InfoQ called Agile Software Architecture Sketches and NoUML. As with anything, let's start at the start.


The website provides a way to find people, tribes (businesses, communities, interest groups, etc) and content related to the tech, IT and digital sector in Jersey and Guernsey. At the most basic level, it's a content aggregator for local tweets, news, blog posts, events, talks, jobs and more. Here's a context diagram that provides a visual summary of this. - context diagram

The purpose of the website is to:

  1. Consolidate and share local content, helping to promote it inside and outside of the local community.
  2. Encourage an open, sharing and learning culture within the local community.


The website has three types of user:

  1. Anonymous: anybody with a web browser can view content on the site.
  2. Authenticated: people/tribes that have content aggregated into the website can sign-in to the website using their registered Twitter ID (if they have one) to modify some of their basic profile information.
  3. Admin: people with administrative (super-user) access to the website can manage the people, tribes and content that is aggregated into the website.

External Systems

There are three types of systems that integrates with. These are represented by dashed grey boxes on the context diagram.

  1. Twitter: profile information and tweets from people/tribes are retrieved from Twitter for aggregation into the website. Twitter is also used to allow people/tribes to sign-in to with their Twitter ID.
  2. GitHub: summary information about code repositories is retrieved from GitHub if people/tribes have registered a GitHub ID.
  3. Blogs: content from blogs written by people/tribes is retrieved via RSS or Atom feeds for aggregation into the website.

The next blog entry will look at the high-level software architecture and the major technology choices.

About the author

Simon is an independent consultant specializing in software architecture, and the author of Software Architecture for Developers (a developer-friendly guide to software architecture, technical leadership and the balance with agility). He’s also the creator of the C4 software architecture model and the founder of Structurizr, which is a collection of open source and commercial tooling to help software teams visualise, document and explore their software architecture.

You can find Simon on Twitter at @simonbrown ... see for information about his speaking schedule, videos from past conferences and software architecture training.

Add a comment Send a TrackBack