conreg
ConReg is a system for registering members of science fiction conventions.
It was initially developed in 2015 when Drupal 8 had just launched, and I did not know anything!
There are many things that were done because I needed it to work and didn't have time to learn how to do it properly.
I have since learned a lot, but needed to keep live sites running, so didn't have time to fix the main problems.
It was originally hosted on GitHub, but is in the process of moving to Drupal.org to facilitate modernisation, development of test cases, and integration into the Drupal Ecosystem.
Development roadmap
Tiding up the project will take time, and won't happen overnight. The following stages are envisioned.
- Version 1.x: Keep largely compatible with the old GitHub version, but gradually make more compatible with Drupal best practices, move custom classes into Drupal Services where possible, and implement test cases.
- Version 2.x: Move from database tables to Drupal entities. Use fieldable entities for customisation.
- Version 3.x: Integrate with Member Platform, and replace internal entities with CRM entities for member storage. Reduce codebase size where possible, and use recipes to customise other modules where practical. Aim to make ConReg a layer over functionality largely provided by other modules, but provide a tailored experience, easy for science fiction conventions to get up and running. Ultimately provide site templates to provide a complete convention website starting point.
Features
Supports user registration with features convention membership expects.
Allow multiple members to be registered together.
Supports different membership types.
Support collection of customisable membership preferences.
Support "add on" payments for any extra charges or optional items.
Post-Installation
Install in the usual way. Currently you then need to add a record manually to the conreg_events table. That will be fixed soon.
Stripe keys need to be set up in settings to accept payments.
Additional Requirements
Requires Stripe PHP library, installed via Composer.
Recommended modules/libraries
Similar projects
- Member Platform is a project to provide a general management system for membership organisations, and has a lot of functionality overlap.
- CRM is the underlying module used by member platform to track contacts.
- Entity Registration is module that supports registration of if a user or member entity against an event entity.
Development ⚙
Using DDEV with the ddev-drupal-contrib plug-in.
If you haven't already, install Docker and DDEV.
git clone [email protected]:project/conreg.git
cd conreg
ddev config --project-type=drupal --docroot=web --php-version=8.4 --corepack-enable --project-name=conreg
ddev add-on get ddev/ddev-drupal-contrib
ddev add-on get ddev/ddev-selenium-standalone-chrome
ddev start
ddev poser
ddev symlink-project
ddev drush site:install -y
ddev drush pm:install conreg -y
ddev drush config:export -y
ddev drush user:loginSupporting this Module
Watch this space!
Community Documentation
Documentation coming soon.