Appearance
Subscription module overview
Subscription system currently holds a single responsibility: Newsletters.
Newsletters
We have two newsletters:
- UX Weekly: Manually crafted and sent every Tuesday.
- Daily Design Quote: Automatically crafted and sent every weekday.
Technical description
We use three models:
\App\Modules\Subscription\Models\ContactList\App\Modules\Subscription\Models\Subscriber\App\Modules\Subscription\Models\Newsletter
Subscription states
Subscription requires email confirmation. Also, there is a special flow to resubscribe unsubscribed email back again.
DB Schema

Newsletters based approach
- A
ContactListcan be anything: For example, each Newsletter is a contact list. - A
Subscriberis a recipient for/subscriber to a specificContactList. - A
Newsletteris for UX Weekly; a marketing staff creates one every week to send to allSubscribers subscribed toContactList::NEWSLETTER_LIST_ID.