https://github.com/dmuth/anthrocon-reg
Convention Memebership Registration System. To date, it has processed over $1 Million in registration revenue across a number of conventions.
https://github.com/dmuth/anthrocon-reg
Last synced: 8 months ago
JSON representation
Convention Memebership Registration System. To date, it has processed over $1 Million in registration revenue across a number of conventions.
- Host: GitHub
- URL: https://github.com/dmuth/anthrocon-reg
- Owner: dmuth
- License: other
- Created: 2011-10-27T03:09:48.000Z (over 14 years ago)
- Default Branch: main
- Last Pushed: 2020-09-03T22:20:56.000Z (almost 6 years ago)
- Last Synced: 2025-04-12T14:51:30.437Z (about 1 year ago)
- Language: PHP
- Homepage:
- Size: 1.25 MB
- Stars: 6
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.coding-horrors
- License: LICENSE.md
Awesome Lists containing this project
README
Coding horrors in this software, 20 Feb 2011, DTM
=================================================
Since I know I'll be judged on this code in the future, I figured I should
take a few minutes to explain why this code is in the state it is.
First, when I started building this module, it was the biggest Drupal
project I ever built, and I wasn't sure how to approach it at the time.
I did some research first, and read one approach from someone that
suggested building a bunch of classes with static functions, to emulate
Drupal's "have a bunch of functions" approach, but with classes ating
as namespaces. So I tried that.
It turned out to be a terrible idea. I had awful circular dependencies
between classes and other horrors.
After a few thousand lines of such code was written, I began retrofitting
it into non-static OO code, and added in a Factory class along with the
"dependency injection" pattern to try and keep dependencies from getting
out of hand. The end result is somewhat more palettable, but not perfect.
Hindsight being 20/20, if I could build this app again from scratch, I'd
take the approach that Ubercart used, and put everything into a bunch of
Drupal modules. (reg_user, reg_levels, reg_template, etc.)
Oh well, at this point most of the code works. And I got experience building
a large Drupal module, which will be invaluable to my career.
-- Doug