Athletic Event Scheduling Engine
Senior Project: 2003-2004
Every day hundreds of sporting events are taking place just within a single
town ranging from one-day tournaments to rolling leagues. Each one of these
requires a great deal of planning and scheduling. Most of the scheduling for
these is still done purely by hand or using simple macros in a program like
Excel. Event coordinators spend much of their time handing scheduling conflicts
when they could be promoting or finding competitors and sponsors. Code
Contractors is a startup company committed to producing quality software
that makes complicated tasks easier. The goal of the project was to develop an
athletic scheduling engine that simplifies the entire process of scheduling
athletic events.
Scheduling by itself is a tricky algorithm, but handling other concerns such as
switching playing fields at the last minute, accommodating for competitors that
arrive late, rescheduling matches, and making sure one team in a league doesn't
play at 11 o'clock in the evening every week while another plays at 6 o'clock
can be very intricate. There are also many formats required to handle a wide
range of sports from tennis ladders to hockey leagues to round robin soccer
tournaments.
Several local groups were interested in this product and guided the design.
A few basic elements were needed in the final product:
-
The system needed to be extremely versatile. In addition to creating optimal
schedules that meet a large number of criteria, the system needed to easily
handle typical circumstances that occur once the schedule is complete.
-
The system needed to function with the web, but not necessarily
on the web, i.e. the coordinator should be able to manage an event
without access to the Internet, but schedules and results should be posted
on the web for use by teams and others involved in the event.
-
The interface needed to be simple to use, allowing the coordinator to simply
specify the various factors that affect the schedule (number of teams, site
availability, event format, etc.), rather than being concerned with how a
schedule that satisfies these constraints is produced.
The initial focus of the project was on in-house league formats. However,
the user interface is designed to organize the users' data efficiently and
intuitively and can be easily extended to support almost any kind of athletic
event.
The scheduling system was developed in Java, while web-based components were
developed in HTML.

Configuring a Session
Modifying a Schedule
Public User Website
|