Fantasy Soccer - Part 4 - Architectural Overview

Okay this Fantasy Soccer thing has got me thinking.

What is this thing going to look like from about 100,000 feet? I.e. what are the big bits?

Well being a pure geek, I really want to play with new shiny stuff (i.e. the new ASP.NET MVC Framework) but that has to be balanced against a desire to be real world for the average developer 'today'.

Then it dawned on me that actually I have two Applications too write, an Administration App and a Fantasy Soccer Player App.

So I can use traditional ASP.NET for one and nice shiny MVC for the other.

Now given that requirements (i.e. my stupid ideas) are changing all the time it is a little premature to say this is a final architecture, but this is what I think things will look like today:

FootballOverview

Exactly what is going to happen inside each of those boxes is definitely still up in the air, but the basic requirements are as follows.

The Administration Site will allow administrators to:

  • Create Soccer Stars, Managers, Teams, Stadiums, Matches etc.
  • Enter and Approve results
  • Alter Soccer Star prices
  • Award points to players
  • Run reports
  • Moderate team names etc.
  • ...

The Player Site will allow Soccer fans too:

  • Signup and Create a team
  • Alter their team
  • Monitor their team's points
  • Monitor leaders
  • Trade players
  • Signup for news
  • ...

My alert readers may have noticed that in my above diagram there are no N-Tier issues. I am not trying to pretend that in the real world these issues don't exist, I just want this application to grow little by little.

So don't fear I definitely plan on addressing the N-Tier issues at some point. Perhaps I'll have some sort of smart client application talking to the Administration Site, or some sort of Silverlight client to the Players site? Who knows, not me that's for sure, I'll still gathering requirements from myself, and like most Clients, I want the world, but I don't want to pay!

So for now let's just grow into this, iteratively, starting with the basics.

Next time I will probably be ready to start looking at what the Entity Data Model for our Fantasy Soccer application is going to look like...