Case Study: WEAT
The Water Environment Association of Texas (or WEAT for short) is a nonprofit organization whose goal is to protect and enhance the environment by providing education and awareness on the value of water. They provide resources for preserving, enhancing, and advocating for water quality in Texas.
WEAT is a long-time client and one of the most complex Craft builds I've ever worked on. I was originally brought in to work on their site when upgrading from Craft version 1 and have seen the site change a lot over the years as the needs of the organization have grown (we're now on Craft version 4).
One of WEAT's unique needs is to manage annual subscriptions for their members. When upgrading from Craft 1 to 2, the plugin that was previously being used to handle this was deprecated and after seeing how tricky subscription management can get with off-the-shelf plugins, I decided to create a custom Craft plugin that would integrate with Stripe directly.
With a combination of webhooks from Stripe to send emails to members when their subscriptions are close to renewing, cron jobs to update member's status based on if they are set to auto-renew, and other API calls to show members their cards on file and payment history, I was able to build a robust membership portal that has automated much of what was previously done manually.
Other custom integrations for the site include using Solspace's Calendar plugin hooks to create Craft entries when members or guests sign up for events. Calendar doesn't provide event registration out of the box but I was able to extend it into a complete ticketing system which includes email verification, coupon codes for price discounts and special pricing that includes membership for certain events.
One other component of this site is the need to interact with WEAT's parent organization. Through the use of the Data Studio plugin and FeedMe plugin we were able to create custom reports and import templates for managing memberships that are created in several databases and have created systems for identifying and managing duplicate members.