Enterprise Integration Zone is brought to you in partnership with:

Simon lives in Jersey (Channel Islands) and works as an independent consultant, specialising in software architecture, technical leadership and the balance with agility. Simon regularly speaks at international software development conferences and provides consulting/training to software teams at organisations across Europe, ranging from small startups through to global blue chip companies. He is the founder of "Coding the Architecture" (a website about pragmatic, hands-on software architecture) and the author of "Software Architecture for Developers" (an e-book that is being published incrementally through Leanpub). He still likes to write code too, primarily in .NET and Java. Simon is a DZone MVB and is not an employee of DZone and has posted 27 posts at DZone. You can read more from them at their website. View Full User Profile

Techtribes.je Architecture Review: Pt. 1

07.10.2013
| 1724 views |
  • submit to reddit

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 techtribes.je 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.

Overview

The techtribes.je 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.

techtribes.je - 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.

Users

The techtribes.je 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 techtribes.je 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 techtribes.je 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.

Published at DZone with permission of Simon Brown, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Comments

Thai Dang Vu replied on Wed, 2013/07/10 - 9:54am

 Can't wait for all the parts available so I can read all at once.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.