Membership Management System

From Pumping Station: One Wiki
Revision as of 15:53, 16 November 2018 by Rdoeksen (talk | contribs) (Status)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

The tentatively titled Membership Management System will enable the Treasurer to manage membership-related finances, among other things.'

Status

As of 11/18/2018 the Membership Management System consists of a Wild Apricot installation with Stripe Payment processing, for the core system, and several member-driven projects to incorporate RFID access and an Active Directory server.

Most of the rest of the information on this page is archival, and represents the effort of the members to create the previous system, which is being gradually phased out in 2018/2019.

Voting has still not, and has never been completely incorporated into the Membership Management System beyond a (problematic) calculation of quorum.

Purpose

  • Track payment status of members, and provide a list of current members
  • Provide a secure and transparent online voting system
  • Provide accounting information regarding membership dues
  • Automatically provide access to our various member-only resources

Our top two priorities are:

  1. The ability to track membership status in terms of who has paid dues
  2. Providing a secure online platform where members can vote on issues as discussed in the Bylaws

We hope that the fruits of our efforts will be useful to other hackerspaces. Therefore, it should be designed accordingly.


Task List (Things that need to get done): http://spreadsheets.google.com/pub?key=rkVo5CJHDUNTvjjjD3jC06w&output=html

Participate!

Meetings are every Wednesday from 8 to 9 pm, and you can add your suggestions to this wiki page. You can also "watch" this page if you would like to be kept up-to-date on the project.

Requirements

  1. New member sign-up
    1. Direct member to the bylaws
    2. Require waiver to be signed (electronically)
    3. Maintain records of key distribution (have they been given a key yet?)
      • possibly increment counter every time member loses key?
    4. Automatically set up access to member resources
      • mailing list
      • wiki
      • blog
  2. Payment/Membership status
    1. Interface with Amazon to provide payment status for each member
    2. Allow Treasurer to manually add offline (cash) payments to the record
    3. Automatically send email reminder to members who must make a payment to keep their membership
  3. Voting system
    1. Enable members to designate a proxy voter for a given vote
    2. Simple User Web Interface
    3. Straw polls can be shown to public -- actual votes / notification only shown to logged-in members
    4. Shows time remaining on a specific vote
    5. Public/Private Forum Integration
      1. Should be easy to permalink or embed in member-only emails
    6. Multiple Survey / Vote types
      1. Single Vote - One member, one vote, multiple choice (radio)
      2. Approval Voting - Yay or Nay on multiple Choices (checkbox)
      3. Rank Voting - rank all choices 1 through n; choice with lowest total wins
      4. Straw Poll / Secret Vote / Public Vote
    7. Secure

Detailed Design

  1. Access to member resources
    1. We plan to use a database to store user information/authenticate users. If/when an LDAP server is set up, we can switch to it.
  2. Payment/Membership status
    1. See the link below to Amazon's web API for payments

Language/Framework/Database

PHP seems to be a common denominator, with three programmers who have experience in it (two in depth).

Two of us have cursory knowledge of Cake, an object-based MVC web framework for PHP. If PHP is the language, Cake is as good as any other framework.

The available database is PostgreSQL

We are using Sourceforge to host our project, at least until an official PS:1 version control system is provided.

Third Party Software

Why reinvent the wheel? The following open source software may meet our requirements (in whole or part):

Project Management

This project is managed in SourceForge: https://sourceforge.net/projects/hackerspace/

References