Skip to content
master
Switch branches/tags
Code

ClubManager

ClubManager is a web-application to represent and organize a club, respectively a music-club. The application is powered by CakePHP (current version: 2.10.14).

Features

Here are just a few highlights of ClubManager:

  • Blog, gallery and public event calendar to keep the world informed about your club's activities
  • Organize all events within a single calendar
  • Dedicated calendar for every club-member
  • Organize your club's resources and its usage
  • Optionally organize musicsheets and playlists
  • Interface to SMS gateway and email to contact members
  • Login area for members only

Take a look at Stadtkapelle Bad Radkersburg to see an example in production.

Setup

Create following files according to your requirements, take a look at the *.example files:

  • /app/Config/bootstrap.php (application specific settings)
  • /app/Config/core.php (debug-level, cache, security values,...)
  • /app/Config/database.php (database settings)
  • /app/Config/email.php (email settings)
  • /app/webroot/css/style.css (the web-application's appearance)

Also copy the directory /app/webroot/img.example to /app/webroot/img.

Adapt database settings according to your provider's requirements:

  • /schema/schema.sql
  • /app/Config/database.php

Create database by loading:

  • /schema/schema.sql
  • /schema/data.sql

Avoiding attacks from bots

There are three forms which could be potentially a target to bots:

  • Registration: https://<link_to_your_ClubManager>/users/add
  • Rest Password: https://<link_to_your_ClubManager>/users/create_ticket
  • Contact Form: https://<link_to_your_ClubManager>/contacts/contact

To reduce the chance for bots to successfully send those forms, there are two mechanisms implemented:

Legitimation Password This approach relies on a secret legitimation which is only known by club members. Therefore the legitimation variable has to be set in the ClubManager system settings in /app/config/bootstrap.php. The Legitimation Password works only for Registration and Reset Password forms.

Recaptcha (Google) This is currently work in progress. This approach uses Google's ReCaptcha and protects the three previously listed forms. To get it up and running you have to create an account where you get your public and private key. Write these keys to Settings for ReCaptcha in /app/config/bootstrap.php

First Run

  • Register a new user (e.g. admin)
  • In the file /app/Config/bootstrap.php set the primary_admin variable with the username (e.g. admin)
  • Call the privilege's settings to adjust user's administrative access: https://<link_to_your_ClubManager>/privilegs

ClubManager's appearance

Adapt the style-sheet and the style related images according to your requirements

  • /app/webroot/css/style.css
  • /app/webroot/img/*

Some Handy Links

CakePHP - The rapid development PHP framework.

Cookbook - THE Cake user documentation; start learning here!

Galleria - JavaScript gallery

Leaflet - an open-source JavaScript library for interactive maps

TCPDF - PHP class for generating PDF documents

CKEditor - Web text editor

s3Slider - A jQuery-based image slider

d3 - Data-Driven Documents

jQuery - JavaScript library

About

ClubManager is a web-application to organize registered associations, especially (austrian) music associations

Resources

Releases

No releases published

Packages

No packages published