Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
CRM for hackerspaces
PHP Ruby CSS Other
tag: v0.1

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
crm
doc
COPYING
INSTALL
README
TODO

README

Seltzer CRM 0.1.0
An open source CRM for hackerspaces
Copyright 2009-2011 Edward L. Platt <elplatt@alum.mit.edu>
Distributed under GPLv3 (see COPYING for more info)

CONTENTS
========
1. Overview
2. Why create another CRM
3. How to install
4. Basic usage
5. Code structure

1. OVERVIEW
===========
Seltzer is a Customer Relationship Management (CRM) application designed
specifically for hackerspaces.  It is built to be lightweight and hackable.

The current features are tracking of member contact info, membership levels,
voting status, and key assignments.

Seltzer has been in production use at the i3 Detroit hackerspace in Ferndale, MI
since 2010-12-20.

2. WHY CREATE ANOTHER CRM?
==========================
There are a number of powerful CRMs out there already, including the open source
CiviCRM.  However, we found the complexity of existing CRMs to be an obstacle
to recruiting and training volunteers at member-run organizations such as
hackerspaces.  Seltzer CRM has a very basic feature set tailored to the needs
of a hackerspace.

3. HOW TO INSTALL
=================
Check out the INSTALL file.

4. BASIC USAGE
==============
NOTE: to preserve historical data, plans, members, and key assignments should
only be deleted if they were created in error.  If a plan, member, or key
assignment is no longer valid, it should be marked as inactive rather than
deleted.

To manage membership plans, click the "Plans" tab.  This tab displays a list of
existing plans.  Each existing plan has links to edit or delete that plan.  You
may add a new plan by clicking the "Add" sub-tab.

To manage members, click the "Members" tab.  This tab displays a list of
all members, past and present.  Members may be filtered down to only active
or voting members.  Each member has a link to edit or delete that member.  To
add a new member, click the "Add" sub-tab.

To manage a member's membership status, click a member, and then click the
"Plan" sub-tab.

To edit a member's roles (which determine their permissions) click a member and
then click the "Roles" sub-tab.

To manage key assignments, click a member in the "Members" tab, then click the
"Keys" sub-tab.

To view a report of all active voting members, click the "Reports" tab.

5. CODE STRUCTURE
=================
The code is documented in doxygen format and the documentation is in the doc
subfolder of the distribution.

Currently, there is a front end php file for each page in the CRM.  These pages
include the file include/crm.inc.php which includes the rest of the CRM
code.

The key module is small and a provides a good demonstration of most things
a module can do.

The code is broken into several "modules" but the module system is not complete
as of this writing.  The modules are hard coded into include/crm.inc.php and
include/config.php.

Modules are divided into the following types of functions:
* _data functions: query database and return associative arrays.
* _table functions: return data structures representing tables.
* _form functions: return data structures representing forms.
* _page function: a hook to add content to various pages.
* command_ functions: read from GET/POST and update the database.
* theme_ functions: return themed html strings.
Something went wrong with that request. Please try again.