High level Evaluation

From our perspective, there only exist events, people, and links as defined below.

Events

An event is something that happens. From the most basic perspective, they are objects that have a start and stop date and time, location, title, and possibly description.

EventSeries

An event series is an ordered group of events. It is supposed to represent a required order of events (such as for workshops where one must attend workshop 1 to get to workshop 2 which you actually sign up for at one time)

People

A person keeps some level of identity for a person. This strictly is data that is common to all people

Group

An unordered collection of people. This is different than a role. A role is a subclass of person and there exist a finite number that can have more information associated with it. A group is simply the people.

Links

A link joins groups and series together in some relation. It strictly thinks in a many-to-many fashion though might not always be that way. In fact, this may be a group of one to a series of one event. See below for further explanation

Derivative Types

All of the top three low level models can be rolled into new objects. For example, a limited talk would be an event that has a link to at least one person in a speaker/presenter role and up to the limited number of links to people as attendees. In this example, we would have two derivatives of People and one derivative that includes those two as well as events and links.

Target Features

Needed

  • CRUD Admin Interface
  • Auto Registration Closing
  • Confirmation Links
  • Resource for Strings
  • Support for Limited Events
  • MechMania
    • Team Number / Credentials
    • Sign up for mailing list
  • Email arbitrary groups / people
  • Update Events
  • UNIT TESTS WITH COVERAGE

Stretch Goals

  • Auto Speaker SORF
  • Auto Scheduling
  • Auto Trac
  • Convert to static after the fact
  • Badge creation

Technologies

This is being planned to be all in C# targeting IIS 7 (mono support is questionable). We are going to use Linq-to-SQL connecting to SQL Server 2008 (though stressing Linq so other DBs could be used) for database connections and the ASP.NET MVC framework (currently RC1 as of this writing) as a framework. The admin interface is going to be handled through generated scaffolding The unit tests will be written in such a way that Visual Studio can run them without modification though additional PEX and code contracts tests may be used in the future.