Architecture
Download Source Code

Each project in the solution represents a tier in the application. Having separate tiers allows you to isolate the changes without affecting other tiers. The diagram below shows you the flow of  information among the tiers.