SourceForge Logo

Club Manage

Club management software

Introduction

The goal of this project is to provide a series of object oriented modules to allow the rapid development and deployment of a web application to allow a club or other organization the ability to manage their club's online information.

This information can consist of but is not limited to:

  • Events. Both open to the public and events limited to club membership
  • On line registration for events
  • Training classes
  • Registration for training classes
  • Membership directories

My first cut at developing this suite is driven by a need to provide web applications for a dog club that I belong to. When the site is live I will provide the URL on this page to show it off as an example.

In spite of that leaning this family of modules can be tailored for just about any club or organization that needs web applications that go beyond the just fill out the form and email it style.

Strategy

The basic strategy for this project is object oriented in its coding approach. All CGI processing logic and data elements are encapsulated in Perl modules or PHP objects where practical.

Configuration information is stored in a module and that information is referenced whenever pages are referenced, images are loaded, database connections are made, or whatever.

The configuration module itself is put in a subdirectory that itself is pointed to by two values that are hard coded within the dispatcher code but can be overridden by hidden values within the forms that are developed. This is done in the event that a club wants multiple applications on their site. Example: A dog club with a rescue work flow application, a membership application, and an on line store. These functions would be separated into discrete applications, but their actions would flow through the same dispatch logic.

The guts of the whole operation is within the dispatcher CGI. The dispatcher is responsible for doing the following:

  • Retrieving session information for already authenticated sessions
  • Decrypting any encrypted CGI variables. (more on this later)
  • Retrieving CGI values for a particular session that have been cached
  • Dispatching to the appropriate module based on the CGI variable "Action".

Environment

  • Perl and PHP
    • Modules:
    • DBI
    • DBD::mysql
    • HTML::Template
    • Digest::MD5
    • CGI
    • CGI::Carp
  • MySql Database