Custom Web Application for Events Management and more…

Today I’d like to describe a complex web application that I built from scratch over a year ago and continue to update on a regular  basis.  It was created for a live music company here in New York City that provides bands for weddings and other events.  They are in high demand and have dates scheduled years in to the future.

They approached me about creating a database driven custom web application that their personnel could access online, any time, from any computer.  For each event/contract they wanted to have an easy way to store basic information like:

  • event location details
  • event segment schedule and fees (as in cocktails, reception, after party, etc…)
  • bands and musicians for each segment
  • requests and special music
  • crew information
  • client contact information
  • contract information like dates, reference, status, terms, etc…
  • payment amounts, schedule and status
click for larger view
click for full size view

The system is based around the color coded list of upcoming events (above). This only shows a tiny slice of the information that is collected for each event.  Here they can access printable summary sheets presenting condensed event info for specific roles like musician and band leader, a printable contract, view and edit links and links to other event specific operations like budget and the dynamic “contracting” page.  At the top we also have an event search and menu for other system features that are vital to the business.

click for full size view
click for full size view

A lot of time is spent on the contracting page for each event (above).  Here they select the instruments and musicians required for each event segment.  This page uses a lot of JavaScript to dynamically calculate musician fees and expenses based on which segments of the event they are working.  These numbers are hidden from users who do not have the required privileges to view sensitive financial information.

The financial data generated on the contracting page is saved and displayed on a number of different payroll reports.  There are other reports for payments, expenses, contracts, musicians and anything else the client needs in order to access important information in a useful format.

The system also includes management for contacts, musicians, rehearsals, plus user login and a multi level access permission structure.

As the client uses the system they identify areas that seem too tedious and time consuming and we work together to devise changes to help streamline their work flow.  A lot of AJAX and Javascript are used to make the user interface as friendly and efficient as possible.  The whole application is based on the Symfony framework to ensure that the code is organized and extend-able and that the system is solid and secure.